간단한 퀵 정렬이다.
void quickSort(int data[], int left, int right){
int i, j, key, tmp;
if (left < right){
i = left;
j = right + 1;
key = data[left];
do{
do{
i++;
} while (data[i] < key);
do{
j--;
} while (data[j] > key);
}
if (i < j){
tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}while (i < j);
tmp = data[left];
data[left] = data[j];
data[j] = tmp;
quickSort(data, left, j - 1);
quickSort(data, j + 1, right);
}
}
'알고리즘' 카테고리의 다른 글
큰 수 계산기 간단하게 만드는 알고리즘 기법. (0) | 2015.10.30 |
---|---|
소수 더하기 O(n) 최적화 (0) | 2015.10.30 |
합병 정렬(Merge Sort) (0) | 2015.10.30 |
삽입 정렬(Insert Sort) (0) | 2015.10.30 |
선택 정렬(Select Sort) (0) | 2015.10.30 |