快速排序:是对冒泡排序算法的一种改进。

它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
例如有一个数字序列: 5 0 1 6 8 2 3 4 9 7
对其进行快速排序变为:0 1 2 3 4 5 6 7 8 9
思路如下:首先将要排序的序列的首个数字5定位比较数,这是一个参考对象!
然后的方法很简单:分别从序列的两端进行比较。先从右边往左边找比5小的数,再从左边往右边找大于5的数。当他们找到以后就需要停下来,然后交换它们。
在这里我们为了方便,将i定为左边,j为右边。
接下来继续前进,还是先从右边。
接下来得到的序列如下:
5 0 1 4 3 2 8 6 9 7
当它继续下去的时候我们可以知道这时,i,j相遇了。
这个时候,直接将比较数与相遇的数进行交换
得到如下序列:2 0 1 4 3 5 8 6 9 7
可以看出,在右边的数都比比较数5大,左边的数都比比较数5小。
这个时候其实就是第一轮排序结束了。
下面的排序就是将左边与右边分别看成两个序列,然后与上面的一样进行排序。这里其实就是应用到了递归!
完整代码如下:
#include<stdio.h>
int a[100];//这里将数组a定义为全局变量,方便后面使用
void kspx(int left,int right)
{
int i,j;
int t,bjs;//bjs就是指开头的比较数
if(left>right)
return;
bjs=a[left];
i=left;
j=right;
while(i!=j)
{
while (a[j]>=bjs&&i<j)//这里是从右往左走
j--;
while(a[i]<=bjs&&i<j)//这里是从左往右走
i++;
if(i<j)//当i,j还没有相遇的时候
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
a[left]=a[i];//将比较数换到i,j相遇的位置
a[i]=bjs;
kspx(left,i-1);//下面使用递归进行下面的排序
kspx(i+1,right);//使其排好
}
int main()
{
int i,j;
int n;
scanf("%d",&n);//首序列长度
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
kspx(1,n);//快速排序函数
for(i=1;i<=n;i++)//验证结果
printf("%d ",a[i]);
return 0;
}
结果如下:
总结:快速排序的优点是速度快,缺点是不稳定。
相关推荐:
SEM有哪几个平台?数字营销的多元选择,AI怎么取消移动间距
OpenAI无法验证支付方式?解决方案与常见问题解析,你好月光ai
ChatGPT故障:科技背后的秘密与应对策略,华为什么手机带ai功能
SEO站在未来之巅,助力网站在激烈竞争中脱颖而出,推荐网站优化欢迎咨询
SEO导航:助力网站提升流量与排名的必备工具,荣昌建筑网站建设
ChatGPT充值打不开?这几招教你轻松解决问题!,免费的ai写作绘图
seo都有什么问题,seo都有什么问题和答案 ,ai凯旋公主下载
SEO难吗?揭秘SEO背后的真相,让你轻松上手!,大旺百度网站推广
优化工具:提升工作效率的秘密武器,网站模板的优化策略是什么
SEO首选:如何通过优化网站提升排名和流量,简单的网站优化软件
代哥SEO-让您的网站迅速登顶搜索引擎的秘密武器,济南关键词的排名优化
“新热度”:引领潮流的力量,如何趋势的脉搏,浙江通用网站建设特点
《*采集站:带你领略全球最全*资源的宝藏平台》,seo优化易下拉瞧瞧
SEO外链建设:提升网站排名的关键策略,ai偏执
ChatGPT手机下载后打不开?可能是这些问题导致的,解决方法在这里!,孤城ai动画
ChatGPT诞生背景:人工智能如何突破语言的边界,ai辅助市场调研
ChatGPT中显示已进行一处编辑,但看不到内容?你需要了解的隐藏问题!,ai敲
为什么“360收录”是你网站推广的必备利器,seo亚马逊
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
ChatGPT宕机恢复时间如何解决用户焦虑与技术背后的故事,ai人工智能写作火山
什么是seo如何进行seo,何谓seo ,红米的AI摄影什么意思
2025年SEO最新技术:让你的网站脱颖而出!,ai少女特色
什么叫改写-解读“改写”背后的艺术与技巧,网站制作建设模板图片
GPT怎么收费?揭秘AI技术的定价与价值,ai报考高考
SEO做法-提升网站流量与排名的关键秘诀,屏东网站推广招聘
ChatGPT:人工智能对话新时代的领航者,ai音响华为还是小米好
SEO伪创:提升网站排名的危险策略与如何避免,怎样介绍社交网站推广
seo需要了解什么,seo需要学些什么内容 ,ovo ai
SEO用户:如何为您的网站带来持续流量和转化,惠州网站推广哪个好
在线AI文章:为您打造全新内容创作体验
URL泄露:如何防止信息泄露带来的严重后果,抖音推广营销服务多少钱
ChatGPT页面无法访问?解决方案,让你轻松摆脱困扰!,ai染发颜色
SEO手法如何通过精准优化提升网站排名,获取海量流量,网站建设协议流程是什么
SEO量:提升网站流量和排名的关键法则,德兴seo
SEO地位:如何提升你的网站排名与曝光度,抢占市场先机,微营销网络推广
“更加通顺”-让生活与工作无缝衔接的语言魅力,SEO书架书桌收纳
seo要学什么语言,做seo需要什么语言 ,ai martino
未来工作方式!AI在线工具让效率倍增,工作变轻松
SEO项目:如何通过精确优化提升企业网站排名与转化率,武汉做网站优化的公司
SEO拓客,让您的业务飞速增长!,密云自适应网站建设
SEO快速优化排名:助你网站跃升搜索引擎首页,ai彩虹立体9怎么做
文字生成AI开启创作的新纪元
好用的AI写作软件免费推荐:创作新境界!
seo营销方法是什么,seo营销模式 ,ai山海
文字生成AI:开启创意写作的新纪元
seo需要什么能力,seo需要哪些技术 ,ai长条弯曲
ChatGPTCanvex打不开?详细分析及解决方法助你顺利使用,ai2.5d网格线去除
pbootcms前端翻译插件-轻松实现网站多语言支持,拓展全球市场,st ai绘画
Bing无法使用怎么办?解决方法及替代方案推荐!,ai文字设计教程
颠覆写作方式:免费的AI续写软件助你轻松创作