Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main()
- {
- int arr1[10] = {6, 1, 9, 5, 0, 3, 7, 4, 2, 8};
- int i, j, tmp;
- //Пузырёк
- for(i = 0; i < 10; i++)
- {
- for (j = i; j < 10; j++)
- {
- if (arr1[j] > arr1[i])
- {
- tmp = arr1[i];
- arr1[i] = arr1[j];
- arr1[j] = tmp;
- }
- }
- printf("Stage %d:", i);
- for (j = 0; j < 10; j++)
- {
- printf(" %d", arr1[j]);
- }
- printf("\n");
- }
- printf("Binary: \n");
- //Бинарные включения
- int arr2[10] = { 6, 1, 9, 5, 0, 3, 7, 4, 2, 8 };
- int left, right, middle, cur;
- printf("Initial stage:", i);
- for (j = 0; j < 10; j++)
- {
- printf(" %d", arr2[j]);
- }
- printf("\n");
- for (i = 1; i < 10; i++)
- {
- if (arr2[i - 1] > arr2[i])
- {
- cur = arr2[i]; //Текущий элемент
- left = 0;
- right = i - 1;
- do
- {
- middle = (left + right) / 2;
- if (arr2[middle] < cur)
- {
- left = middle + 1;
- }
- else
- {
- right = middle - 1;
- }
- } while (left <= right);
- for (j = i - 1; j >= left; j--) //Сдвиг массива
- {
- arr2[j + 1] = arr2[j];
- }
- arr2[left] = cur;
- }
- printf("Stage %d:", i);
- for (j = 0; j < 10; j++)
- {
- printf(" %d", arr2[j]);
- }
- printf("\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement