排序
Time Limit: 1000MS Memory limit: 32678K
题目描述
给你N(N<=100)个数,请你按照从小到大的顺序输出。
输入
输入数据第一行是一个正整数N,第二行有N个整数。
输出
输出一行,从小到大输出这N个数,中间用空格隔开。
示例输入
5 1 4 3 2 5
示例输出
1 2 3 4 5
#include <stdio.h> #include <stdlib.h> void Sort(int a[],int l,int r) {//快速排序函数 int x=a[l],i=l,j=r; if(l>=r) return; while (i < j) { while(i < j && a[j] >= x) j--; a[i]=a[j]; while(i < j && a[i] <= x) i++; a[j]=a[i]; } a[i]=x; Sort(a,l,i-1); Sort(a,i+1,r); } int main() { int num[101]; int i,n; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&num[i]); Sort(num,0,n-1);//调用排序函数 for(i=0;i<n;i++) {//输出 if(i<n-1) printf("%d ",num[i]); else printf("%d\n",num[i]); } return 0; }
PS: 注意快速排序代码的书写