Программирование на языке Pascal

       

Алгоритм Быстр


  1. Возьмем в сортируемом массиве срединный элемент: x:=a[(1+N)div 2];
  2. Будем производить следующие действия:
  1. начав с левого конца массива, будем перебирать его компоненты до тех пор, пока не встретим элемент a[i], больший х;
  2. начав с правого конца массива, будем перебирать его компоненты до тех пор, пока не встретим элемент a[j], меньший х;
  3. поменяем местами элементы a[i] и a[j];

до тех пор, пока не произойдет "рандеву". В результате массив будет разделен на две части. В левой части окажутся все компоненты, меньшие х, а в правой - большие х.

Теперь применим эти же действия к левой и к правой части массива - рекурсивно.



Содержание раздела