Отсортированная часть массива также формируется путем последовательного добавления в нее элементов из его неотсортированной части - Отсортированная часть массива также формируется путем последовательного добавления в нее элементов из его неотсортированной части
- Однако теперь в качестве очередного берется первый элемент неотсортированной части
- Место его размещения в отсортированной части выбирается так, чтобы сохранить уже имеющийся там порядок сортировки
const int N = 10; - const int N = 10;
- void main()
- { int i, j, nMin, A[N], c;
- // здесь нужно ввести массив A
- for ( i = 1; i < N; i ++ )
- { c = A[i];
- j = i -1; // ищем в отсортированной части место для размещения
- while (j > =0 && A[j] > c) A[j+1] = A[j--]; // очередного злемента
- A[j+1] = c;
- }
- printf("\n Отсортированный массив:\n");
- for ( i = 0; i < N; i ++ )
- printf("%d ", A[i]);
- }
Этот метод сортировки имеет жаргонное наименование «метод пузырька» и заключается в многократном упорядочении пар соседних элементов - Этот метод сортировки имеет жаргонное наименование «метод пузырька» и заключается в многократном упорядочении пар соседних элементов
const int N = 10; - const int N = 10;
- void main()
- {
- int i, j, A[N], c;
- // здесь надо ввести массив A
- for ( i = 0; i < N-1; i ++ ) // цикл повторных проходов по массиву
- for ( j = N-2; j >= i; j -- ) // идем с конца массива в начало
- if ( A[j] > A[j+1] ) // если они стоят неправильно, ...
- {
- c = A[j]; A[j] = A[j+1]; A[j+1] = c; // переставить A[j] и A[j+1]
- }
- printf("\n Отсортированный массив:\n");
- for ( i = 0; i < N; i ++ ) printf("%d ", A[i]);
- }
Достарыңызбен бөлісу: |