Сортировка вставкой

На каждом шаге алгоритма сортировки вставкой выбирается один из элементов входных данных и вставляется в нужную позицию в уже отсортированном списке до тех пор, пока набор входных данных не будет исчерпан. Метод выбора очередного элемента из исходного массива произволен. Можно использовать практически любой алгоритм выбора. Обычно с целью получения устойчивого алгоритма сортировки элементы вставляются по порядку их появления во входном массиве.

Листинг 5.1. Программа демонстрирует метод сортировки вставкой массива из 10 целых элементов.

//L5_1.cpp

#include <iostream>

using namespace std;

int main()

{

setlocale(LC_CTYPE,"russian");

int A[10], n=10, i, j, key;

for(i=0; i<n; i++)

{

cout<<"Введите А("<<i+1<<")=";

cin>>A[i];

}

cout<<"Исходный массив\n";

for(i=0; i<n; i++)

cout<<A[i]<<" ";

cout<<endl;

for(i = 1; i<n; i++)

{

key = A[i];

j = i - 1;

while (j >= 0 && A[j] > key)

{

A[j + 1] = A[j];

j = j - 1;

A[j + 1] = key;

}

}

cout<<"Полученный массив\n";

for(i=0; i<n; i++)

cout<<A[i]<<" ";

cout<<endl;

return 0;

}

Результат работы программы листинга 5.1 приведен на рис. 5.1:

Рис. 5.1. Результат работы программы листинга 5­.1


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: