Реферат: Сортировка данных в массиве

else if(high - low == 1)

{

// если в подсписке два элемента, сравнить их между собой

// и поменять местами при необходимости

if(A[high] < A[low])

Swap(A[low], A[high]);

return;

}

// Рассчитать индекс середины и поместить значение соответствующего

// элемента массива в переменную pivot.

mid = (low + high)/2;

pivot = A[mid];

// Поменять местами центральный и начальный элементы списка.

Swap(A[mid], A[low]);

// Инициализировать индексы scanUp и scanDown.

scanUp = low + 1;

scanDown = high;

// Искать элементы, расположенные не в тех подсписках.

// Остановиться при scanDown < scanUp.

do

{

// Продвигаться вверх по первому подсписку. Остановиться,

// когда scanUp укажет на второй подсписок или если

// указываемый этим индексом элемент > центрального.

while(scanUp <= scanDown && A[scanUp] <= pivot)

scanUp++;

// Продвигаться вниз по второму подсписку. Остановиться,

// когда scanDown указжет на элемент >= центральному.

while(A[scanDown] > pivot)

К-во Просмотров: 589
Бесплатно скачать Реферат: Сортировка данных в массиве