Kertitörpe-rendezés

A Wikipédiából, a szabad enciklopédiából
Kertitörpe-rendezés vizualizációja

A kertitörpe-rendezés (angolul gnome sort) egy tömb elemeinek sorba rendezésére szolgáló algoritmus. Hasonlít a beszúrásos rendezésre, azonban az elemek a buborékrendezésre emlékeztető módon, sorozatos cserék után kerülnek a helyükre.

Az algoritmus megkeresi az első olyan helyet, ahol két egymást követő elem rossz sorrendben van, és megcseréli őket. Ha egy ilyen csere után rossz sorrend keletkezik, az csak közvetlenül a legutolsó csere előtt lehet, így ezt is ellenőrizzük.


Példakód[szerkesztés | forrásszöveg szerkesztése]

Egy C-szerű nyelven kódja a következő:

 
 int[] a = new int[n]; // n egy adott szám
 int i = 1; 
 while (i < n)
 {
   if (a[i-1] <= a[i]) i++;     //ha jó a sorrend előre
   else
   {
      int cs = a[i-1];
      a[i-1] = a[i];
      a[i] = cs;
      i--;
      if (i==0) i=1;
   }
 }