Ocena użytkownikóww: ***** / 29
Nadesłany przez Tomasz Lubiński, 13 sierpnia 2005 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
Quick.java:
/**
* Sortowanie liczb calkowitych metoda QuickSort
* Program zostal pobrany ze strony www.algorytm.org
* Tomasz Lubinski (c)2005
*/
public class Quick {
private static int tablica[];
private static int ile_liczb;
private static void quicksort(int tablica[], int x, int y) {
int i,j,v,temp;
i=x;
j=y;
v=tablica[(x+y) / 2];
do {
while (tablica[i]<v)
i++;
while (v<tablica[j])
j--;
if (i<=j) {
temp=tablica[i];
tablica[i]=tablica[j];
tablica[j]=temp;
i++;
j--;
}
}
while (i<=j);
if (x<j)
quicksort(tablica,x,j);
if (i<y)
quicksort(tablica,i,y);
}
public static void main(String[] args) {
int i,liczba;
System.out.println("Ile liczb chesz posortowac.");
ile_liczb = Console.readInt("?");
tablica = new int[ile_liczb];
for(i=0; i<ile_liczb; i++) {
tablica[i] = Console.readInt("Wprowadz liczbe #" + (i+1));
}
System.out.println("Tablica przed posortowaniem:");
for(i=0; i<ile_liczb; i++)
System.out.println(tablica[i]);
quicksort(tablica,0, ile_liczb-1);
System.out.println("Tablica po posortowaniu:");
for(i=0; i<ile_liczb; i++)
System.out.println(tablica[i]);
}
}