StartAlgorytmyAlgorytmy sortowaniaSortowanie szybkie (quicksort)Implementacja w Java
Baza Wiedzy
Wersja offline serwisu przeznaczona na urządzenia z systemem Android.

Darowizny
darowiznaWspomóż rozwój serwisu


Nagłówki RSS
Kanał artykuły
Kanał implementacje
Kanał komentarze
Kanał forum


Bookmarki









Sonda
Implementacji w jakim języku programowania poszukujesz?
 
Sortowanie szybkie (quicksort) - Implementacja w Java
Ocena użytkownikóww: +++--  / 7
Słaby Świetny
Nadesłany przez Tomasz Lubiński
sobota, 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]);
	}
}

Dodaj komentarz

Kod antysapmowy
Odśwież