Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Сортировка вставками
- //ссылка с алгоритмом https://ru.wikipedia.org/wiki/Сортировка_вставками
- #include <stdio.h>
- #include <stdlib.h>
- #define size 100
- void sort(int* a)
- {
- for (int i = 1; i < size; i++)
- {
- int tmp = a[i];
- int j = i - 1;
- while (j > -1 && a[j] > tmp) //проходим назад, пока есть элементы и элемент меньше предыдущего, переставляя элементы вправо, освобождая место.
- {
- a[j + 1] = a[j];
- j = j - 1;
- }
- a[j + 1] = tmp; //дошли до конца или нашли элемент меньше, то индекс + 1 этого элемента присваиваем значение.
- }
- }
- int main()
- {
- int i;
- int a[size];
- printf("List before sorting\n");
- for (i = 0; i < size; i++)
- {
- a[i] = rand() % 100;
- printf("%d ", a[i]);
- }
- sort(a);
- printf("\nList after sorting\n");
- for (i = 0; i < size; i++)
- printf("%d ", a[i]);
- }
Add Comment
Please, Sign In to add comment