algorytm.org

Implementacja w Java



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Sortowanie szybkie (quicksort) - Implementacja w Java
Ocena użytkownikóww: *****  / 29
SłabyŚwietny
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]);
	}
}
Komentarze
photo
+1 # Monika1998 2016-10-04 17:56
Czy to jest rekurencja czy iteracja
Odpowiedz | Odpowiedz z cytatem | Cytować
photo
+1 # Tomasz Lubiński 2019-12-04 14:04
Rekurencja - funkcja quicksort wywołuje samą siebie.
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz