蓝桥杯基础练习 数列排序

来源:互联网 发布:linux xware 编辑:程序博客网 时间:2024/05/16 06:28
问题描述
  给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
  第一行为一个整数n。
  第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
  输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出

3 4 6 8 9


#include <stdio.h>//快速排序代码 int quick(int a[], int low, int high) {int temp = a[low];while(low < high) {while(low < high && temp <= a[high]) high--;a[low] = a[high];while(low < high && temp >= a[low])low++;a[high] = a[low];}a[high] = temp;return high;}void quicksort(int a[],int low,int high) {if(low < high) {int p = quick(a,low,high);quicksort(a,low,p-1);quicksort(a,p+1,high);}}int main(int argc, char *argv[]) {int a[200];int n;scanf("%d", &n);for(int i=0;i<n;i++) {scanf("%d", &a[i]);}quicksort(a,0,n-1);for(int i=0;i<n;i++) {printf("%d ",a[i]);}printf("\n");return 0;}

写了下快速排序的代码

0 0
原创粉丝点击