Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы алгоритмизации и программирования в среде Visual C++ лаб практикум Навроцкий А А, Минск БГУИР, 2008 – 48 с 2008 (Лаб п.pdf
Скачиваний:
292
Добавлен:
15.06.2014
Размер:
813.01 Кб
Скачать

ЛАБОРАТОРНАЯ РАБОТА №10

СОРТИРОВКА ПО КЛЮЧУ ОДНОМЕРНЫХ МАССИВОВ СТРУКТУР

10.1. Сортировка массивов

Сортировка упорядочивание элементов массива по возрастанию или убыванию.

10.1.1. Метод пузырька

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

void S_Puz(int a[], int n)

// Сортировка по возрастанию

{ int i , j, t;

 

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

// Перебор элементов

for( j=n-1; j >= i; j--)

if (a[j-1] > a[j])

// Перестановка элементов

{ t = a[j-1];

a[j-1] = a[j];

 

a[j] = t;

 

}

 

}

 

10.1.2. Сортировка выбором

В массиве выбирается минимальный элемент, помещается в первую позицию и из рассмотрения исключается. Затем аналогичным образом перемещаются элементы в оставшейся части массива. Процес повторяется до тех пор, пока все элементы не будут перемещены в необходимые позиции.

void S_Vb(int a[], int n) { int imin, i, j, t;

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

// Перебор элементов

{

 

imin = i;

// Поиск минимального элемента

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

if (a[imin] > a[j])

 

imin = j;

if (imin != i) { // Перемещение минимального элемента t = a[imin];

a[imin] = a[i];

a[i] = t;

}

}

}

Соседние файлы в предмете Основы алгоритмизации и программирования