快速排序_C语言实现

复制代码
#include<stdio.h>
#include<stdlib.h>
void myqsort(int *a,int low,int high)
{
int i,j;
int c;
c=a[low];
i=low;
j=high;
while(i<j)
{
while(a[j]>=c && i<j)--j;
a[i]=a[j];
while(a[i]<=c && i<j)++i;
a[j]=a[i];
}
a[i]=c;
if(i-1>low) myqsort(a,low,i-1);
if(high>i+1) myqsort(a,i+1,high);
}
int main()
{
int a[30],i;
for(i=0;i<20;i++)
a[i]=rand()%50;
for(i=0;i<20;i++)
printf("%d ",a[i]);
printf("\n");
myqsort(a,0,20);
for(i=0;i<20;i++)
printf("%d ",a[i]);
printf("\n");
}
复制代码

 

posted on   ma6174  阅读(408)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

统计

点击右上角即可分享
微信分享提示