Tömb feltöltése véletlen számokkal és az elemek elrendezése gyorsrendezéssel, eljárások használatával (Gyorsrendezes.java) public class Gyorsrendezes{ public static int n=10; public static int[] a=new int[n]; Létrehozunk egy n elemű, a nevű, egész típusú tömböt. public static void feltolt(){ Véletlen számokkal feltöltjük az a tömböt. int i=0; while(i<n){ a[i]=(int)(90*Math.random())+1; i=i+1; } } public static void kiir(){ A tömb elemeinek kiírása eljárással. int i=0; while(i<n){ System.out.println(a[i]); i=i+1; } } public static void cserel(int i,int j){ Cserélő eljárás, két egész típusú bemenő paraméterrel. int x; x=a[j]; a[j]=a[i]; a[i]=x; } public static int szetvalaszt(int bal,int jobb){ Visszaad egy olyan pozíciót, melytől balra csak kisebb, jobbra csak nagyobb számok helyezkednek el. A függvény során addig cserélgetjük a tömbelemeket amíg a középponti elemhez képest ez a helyzet ki nem alakul. Végül egy egész típusú i változóban visszaadjuk a középponti elem helyzetét. int i,j,x; i=bal-1; j=jobb; x=a[jobb]; do{ do{ i=i+1; }while(x>a[i]); Balról keresi az x-nél nagyobb elemet és eltárolja az indexét i-ben. do{ j=j-1; if(a[j]<x) break; }while(j>bal); Keresi jobbról a kisebb elemet majd eltárolja az indexét j-ben. if(i>=j) break; else cserel(i,j); Amíg a két index nem ugyanaz, vagy nincs átfedés, addig cserél, ha egyenlőek vagy van átfedés, akkor pedig break-kel kilépünk a ciklusból. }while(true); cserel(i,jobb); Mivel van átfedés, ezért megvan a középponti elem, ekkor ezt helyezzük középre. return i; Visszaadja a középponti elem pozícióját. } public static void gyorsrendez(int bal,int jobb){ int kozep; if(bal<jobb){ kozep=szetvalaszt(bal,jobb); kozep-be beletesszük a középponti elem indexét, majd rekurzívan meghívjuk a gyorsrendez eljárást a középponti elemtől balra és jobbra helyezkedő elemekre is. gyorsrendez(bal,kozep-1); gyorsrendez(kozep+1,jobb); } } public static void main(String[] args){ feltolt(); System.out.println("A szamok rendezes elott:"); kiir(); System.out.println(" "); gyorsrendez(0,n-1); System.out.println("A szamok rendezes utan:"); kiir(); } }