C语言 快速排序

来源:互联网 发布:知乎rss订阅地址 编辑:程序博客网 时间:2024/06/08 22:54

1.快速排序,从小到大,输出第几大数据;

输入:

第一行输入数据 ,空格分开;

第二行输入第几大的整数;

输出:

第几大的数;

程序:

#include <stdio.h>void swap(long long v[],int i,int j){long long temp;temp=v[i];v[i]=v[j];v[j]=temp;}void qsort(long long v[],int left,int right){int i, last;void swap(long long v[],int i,int j);if(left>=right)return;swap(v,left,(left+right)/2);last=left;for(i=left+1;i<=right;i++)if(v[i]<v[left])swap(v,++last,i);swap(v,left,last);qsort(v,left,last-1);qsort(v,last+1,right);}int main(){long long a[65535]={0};int i=0;int n=0; int c;    int N;for(i=0;;i++){scanf("%lld",&a[i]);n++; //统计个数c=getchar();if (c=='\n'){break;}} scanf("%d",&N);//printf("NUM:%d\n",n);qsort(a,0,n-1);for(i=0;i<n;i++){printf("%d\n",a[i]);}//printf("%lld",MaxSubSequenceSum_4(a, n));    printf("MAX[%d]=%lld",N,a[n-1-(N-1)]);    return 0;}


原创粉丝点击