Greito rikiavimo algortimas Spausdinti
( 4 Votes )

Parašė Aurimas Šimkus   

Greito rikiavimo algoritmas (angl. quicksort) – vienas iš rikiavimo algoritmų, pasiūlytas C. A. R. Hoare 1962 metais. Dėl realizavimo paprastumo ir efektyvaus atminties naudojimo, šis algoritmas labai paplitęs.

 

Pavyzdys C++:

void Greitas(int mas[], int min, int max)
{
 int i = min, j = max, h;
 int x = mas[(min + max)/2];

 do
 {    
 while (mas[i] < x) i++; 
 while (mas[j] > x) j--;
 if (i <= j)
 {
 h = mas[i]; mas[i] = mas[j]; mas[j] = h;
 i++; j--;
 }
 } while (i <= j);

 //  rekursija
 if (min < j) Greitas(mas, min, j);
 if (i < max) Greitas(mas, i, max);
}