IT
퀵소트
kio467
2014. 6. 9. 11:17
#include<stdio.h>
#include<stdlib.h>
#define MAX_SIZE 100001
void SWAP(int *a, int *b){
int temp;
temp=*a;
*a=*b;
*b=temp;
}
void quicksort(int a[], int left, int right)
{
int pivot,i,j;
if(left<right){
i=left;
j=right+1;
pivot = a[(left+right-1)/2];
do{
do i++; while (a[i] <pivot );
do j--; while (a[j] >pivot);
if(i<j) SWAP(&a[i], &a[j]);
} while(i<j);
SWAP(&a[left], &a[j]);
quicksort(a, left, j-1);
quicksort(a, j+1, right);
}
}
void main(){
int a[MAX_SIZE];
int i,n;
scanf("%d" , &n);
for(i=1; i<=n; i++)
{
a[i] = n-i;
}
/*
for(i=1; i<=n; i++)
{
printf("%d\t", a[i]);
}
*/
quicksort(a, 1 , n);
printf("\n");
for(i=1; i<=n; i++)
{
printf("%d\t", a[i]);
}
}