#include <stdio.h>
int a[100001]={}, n;
void quick_sort(int min,int max){
if(min>=max) return ;
int left=min,right=max+1, t;
do{
do{ left++;}while(a[left]<a[min]) ;
do{ right--; }while(a[right]>a[min]) ;
if(left>right) break;
t=a[left];
a[left]=a[right];
a[right]=t;
}while(left<right);
t=a[right];
a[right]=a[min];
a[min]=t;
quick_sort(min,right-1);
quick_sort(right+1,max);
}
int main(){
int i,j;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
quick_sort(0,n-1);
for(i=0;i<n;i++){
printf("%d ",a[i]);
}
return 0;
}
top of page
기능을 테스트하려면 라이브 사이트로 이동하세요.
수정: 2024년 5월 15일
퀵 내부
퀵 내부
댓글 0개
좋아요
댓글(0)
bottom of page