전.java

퀵 정렬(quick sort)

jeonnew 2021. 2. 8. 21:04
728x90
import java.io.*;
class Sort{
	void swap(int v[], int i, int j) {
		int temp;
		temp = v[i];
		v[i] = v[j];
		v[j] = temp;
	}
	public void Qsort(int a[], int left, int right) {
		int pe;
		int i, last;
		
		if(left >= right) return;
		pe = (left+right)/2;   //pe = partition element
		swap(a, left, pe);
		last = left;
		for(i=left+1; i<=right; i++)
			if(a[i]<a[left]) swap(a, ++last, i);
		swap(a, left, last);
		Qsort(a, left, last-1);
		Qsort(a, left+1, right);
	}
	public static void main(String[] args) throws java.io.IOException{
		BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
		int[] arr = new int [10];
		int a=-1, i=0;
		while(true) {
			if (a==0) break;
			a = Integer.parseInt(input.readLine());
			arr[i++]=a;
		}
		Sort s = new Sort();
		s.Qsort(arr, 0, arr.length-1);
		for(int j : arr)
			if(j!=0)
				System.out.println(j);
	}
}

반응형