Алгоритмы сортировки
Алгоритмы сортировки Существуют разные виды сортировки (по алфавиту, по датам и т. д. ), они отличаются лишь процедурой сравнения элементов. Мы рассмотрим простейший вариант сортировки – расстановку элементов массива в порядке возрастания. Программисты придумали множество методов сортировки. Они делятся на две группы: • понятные, но не эффективные • эффективные, но непонятные (быстрая сортировка и т. п. ).
Метод пузырька • Название этого метода произошло от известного физического явления – пузырек воздуха в воде поднимается вверх. В этом методе сначала поднимается «наверх» (к началу массива) самый «легкий» элемент (минимальный), затем следующий и т. д.
Метод пузырька
Метод пузырька • • • • • #include const int N = 10; main() { int i, j, A[N], c; // здесь надо ввести массив A for ( i = 0; i < N-1; i ++ ) // достаточно поставить N-1 элементов for ( j = N-2; j >= i; j -- ) // идем с конца массива в начало if ( A[j] > A[j+1] ) // если они стоят неправильно, . . . { c = A[j]; A[j] = A[j+1]; // переставить A[j] и A[j+1] = c; } printf("n Отсортированный массив: n"); for ( i = 0; i < N; i ++ ) printf("%d ", A[i]); }
Метод выбора минимального элемента Selection_sort(int s[], int n) {int i, j; int min; for(i=0; i
Метод сортировки вставками int i, j, x; for(i=1; i=0) //поиск подходящего места { a[j+1]=a[j]; //сдвиг вправо j--; } a[j+1]=x; //вставка элемента }