2025年3月13日 星期四 甲辰(龙)年 月十二 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言_快速排序代码

时间:01-19来源:作者:点击数:31

C语言快速排序代码

  • #include <stdio.h>
  • #define N 100010
  • int n = 0;
  • int a[N];
  • void paixu(int a[], int left, int right)
  • {
  • if(left >= right) //如果指针相遇说明排完本轮,则开始返回递归
  • {
  • return;
  • }
  • int i = left - 1;
  • int j = right + 1;
  • int mid = a[(left + right)/2];
  • while(i < j)
  • {
  • do
  • {
  • i++; //防止死循环
  • }while(a[i] < mid);
  • do
  • {
  • j--;
  • }while(a[j] > mid);
  • if(i < j)
  • {
  • int temp = a[i];
  • a[i] = a[j];
  • a[j] = temp;
  • }
  • }
  • paixu(a,left,j);
  • paixu(a,j+1,right);
  • }
  • int main()
  • {
  • scanf("%d",&n);
  • for(int i = 0; i < n; i++) //输入
  • {
  • scanf("%d",&a[i]);
  • }
  • paixu(a,0,n-1);
  • for(int i = 0; i < n; i++) //输出
  • {
  • printf("%d ",a[i]);
  • }
  • return 0;
  • }

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
上一篇:C语言哥德巴赫猜想 下一篇:很抱歉没有了
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐