Java로 퀵소트를 구현해봤다. 이전에 포인터로 구현을 했을때랑 재귀함수 파라미터에 대한 접근법이 달라서 약간 헷갈렸다.
@Test
public void main(){
public void main(){
int[] x = new int[10];
for (int i = 0; i < x.length; i++)
x[i] = (int) (Math.random() * x.length);
quicksort(0, x.length-1, x);
}
private void quicksort(int l, int u, int[] x) {
if(u <= l)
return;
int m = l;
for(int i = l + 1; i <= u; ++i)
if(x[l] > x[i])
swap(++m, i, x);
swap(m, l, x);
quicksort(l, m-1, x);
quicksort(m+1, u, x);
}
private void swap(int a, int b, int[] x) {
int temp = x[a];
x[a] = x[b];
x[b] = temp;
}
'Computer Science > Algorithm' 카테고리의 다른 글
Quick Select - Find k-th item in an unsorted array. (0) | 2014.06.29 |
---|---|
quick sort - c (0) | 2011.05.30 |
insertion sort - c (0) | 2011.05.28 |
insertion sort - Java (0) | 2011.05.26 |
binary search - Java (0) | 2011.05.17 |