参考代码:
2024-04-17 20:50:53
#include<iostream> using namespace std; const int N=100000; int a[N]; void short_line(int l,int r) { int x=a[(l+r+1)/2]; int i=l-1; int j=r+1; if(l>=r) return ; while(i<j) { do i++;while(a[i]<x); do j--;while(a[j]>x); if(i<j) swap(a[i],a[j]); } short_line(l,i-1); short_line(i,r); } int main() { int i,num=0; for(i=0;;i++) { cin>>a[i]; if(a[i]==0) break; num++; } short_line(0,num-1); for(i=0;i<num;i++) { cout<<a[i]<<' '; } return 0; }
0.0分
3 人评分
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:545 |
回文串 (C语言代码)浏览:2858 |
拆分位数 (C语言代码)浏览:1327 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1291 |
输出正反三角形 (C语言代码)浏览:794 |
【偶数求和】 (C语言代码)浏览:646 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1195 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1245 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1099 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:472 |