快速排序一听这个名字可能感觉很快,但是他的算法时间复杂度最坏情况却跟插入排序是一样的。之所以成为快速排序是因为他的平均效率比堆排序还要快,快速排序也是基于分治思想与归并排序差不多,但是快速排序是原址的,直接在原数组操作不需要再开辟新的存储空间。快速排序的思想很简单,就是选定一个关键字k将原数组分成两份g1与g2,g1中所有的元素都比k小或者相等,而g2中所有的数据都比k大或者等于,这样对g1与g2分别进行快速排序,最终我们得到的就是一个有序的数组。代码中的sort方法就是对刚才语句的描述。而关键的算法就是去寻找k的位置将原数组分为大小两部分的过程。方法getPlocation就是快速排序的核心。他的实现原理有点像插入排序只是有点像。每次都把map中end位置的元素作为关键字,通过与end元素对比将数组分成大小两部分,而i与j则是两个分割线,i与j之间的数都是比core大的元素,i与j就像一条贪吃蛇,当j的下一个数比core大的时候j+1,i到j的长度增大了,而如果比core小的话,i与j都向前走一下,并将那个小数放在i的前面。这样循环一遍后,start到end-1之间就是按大小分开的,最后将core放在中间,将core的位置返回就是分界线了。
复制代码 代码如下:
public class QuickSort {
public int getPlocation(int[] map,int start,int end){
int core=map[end];
int i=start-1;
for(int j=start;j<=end-1;j++){
if(map[j]<=core){
i++;
int cache=map[j];
map[j]=map[i];
map[i]=cache;
}
}
i++;
map[end]=map[i];
map[i]=core;
return i;
}
public void sort(int[] map,int start,int end){
if(start<end){
int p=getPlocation(map, start, end);
sort(map, start, p-1);
sort(map,p+1,end);
}
}
public static void main(String[] args) {
int[] map=new int[]{4,1,5,3,7,12,65,7};
QuickSort qs=new QuickSort();
qs.sort(map, 0, map.length-1);
for (int i = 0; i < map.length; i++) {
System.out.println(map[i]);
}
}
}
相关推荐:
ChatGPT对于大数据发展的帮助:赋能行业变革,推动智能化未来,ai写作真的好吗
企业关键字-助力企业成功的隐形动力,闽侯县企业网站建设
ChatGPT点不了?背后的真相与解决方法,ai.520523
SEO职位:数字营销的核心,开启职业新高峰,汕尾网站建设推广厂商
seo类文章是什么,seo技术文章 ,ai3.5-ai聊天
ChatGPT网页版为什么不能用了?解析原因与解决办法,女人莫名其妙想ai
SEO北京:数字时代,企业成功的关键,湖南网站建设湖南岚鸿
AI缩写文档:革新文档管理与自动化的未来,ai聊天中文
SEO需要什么语音,seo需要考虑什么 ,学生作业ai
AI做文章:引领智能创作的未来
seo进阶买什么书推广,seo的推广技巧 ,菩萨壁纸ai
Goanno跨级借鉴:推动创新与提升效率的秘密武器,崇明区智能ai艾灸费用
SEO运维:提升网站排名的核心战略,邢台网站建设优化建站
在线AI文章生成:智能写作的无限可能
seo用到什么软件,做seo需要用到什么软件 ,皮皮ai
如何用AI改文章,让写作更高效、精准,提升内容质量
ChatGPT:智能对话开创新时代,ai做渐变直线
ChatGPTWindows版本:让AI助手成为你的工作与生活得力助手,Ai相减变形
SEO观察:2025年搜索引擎优化的新趋势与机遇,seo2是什么状态
ChatGPT服务器坏了?了解背后的技术与应对策略,AI模块代表
ChatGPT维护页面-背后的技术与用户体验,ai领域ppt
SEO目的:如何通过精准优化提高网站流量与转化率,百度推广网站关键词
怎么分辨文章是不是AI写的?五大技巧揭开真相
SEO要求:如何优化网站提升搜索引擎排名,助力企业获取更多流量,鹤山区网站运营推广
OpenAI网站崩溃原因:背后的技术与挑战,千牛Ai智投在哪里找
为什么要年前做SEO,企业为什么做seo推广 ,云南ai大数据公司
seo组建需要什么条件,seo建站的步骤 ,ai肌肉宝宝
为什么seo这么麻烦,seo是什么意思 为什么要做seo ,dota1ai地图命令选ai
SEO公司核心业务是什么?揭秘提升网站排名的奥秘,写作助手ai一键生成作文在线
SEO广告:如何借助SEO提升品牌曝光与销售业绩?,网站推广怎么选择
SEO出超:如何通过精准优化实现网站流量大爆发,营销推广方式联系f火15星
SEO查看-如何通过精确分析提升网站流量与排名,东丽网站建设价格
SEO那么重要,企业如何通过它脱颖而出?,自媒体推广营销的概念
优化工具:提升工作效率的秘密武器,网站模板的优化策略是什么
SEO拓客,让您的业务飞速增长!,密云自适应网站建设
seo线索收集是什么,seo线索收集是什么意思 ,ai生活ai童童
OpenPose大白话解释:让你轻松理解姿态识别的神奇技术,ai天天晴
什么是SEO金融,seo是做什么的 ,ai中转程序
ChatGPT使用问题?如果您正在使用VPN,请尝试将其关闭,ai制作渐变立体
目前最火的AI软件有哪些?深度解析必备工具
SEO化学物质:如何在化工行业提升搜索引擎排名和品牌曝光,rack ai
常用AI工具,高效智能生活
SEO每日:提高网站流量的秘密武器,助你脱颖而出,seo优化和排名技巧
互联网时代的“搜索截流”新玩法:如何抓住流量红利,甘孜做优化网站软件
为什么“搜狗不收录”会成为企业SEO的新挑战?,烤肉店的线下营销与推广
SEO建议:如何通过优化提升网站流量,赢得市场竞争,自媒体网站免费推广平台
AI缩写在线:让人工智能助力你行业前沿技术,ai uhrehara
为什么seo推广那么多,seo推广难吗 ,东莞ai听译平台
SEO优化顾问:让您的网站脱颖而出的秘密武器,ai ps 群
什么是seo伪原创,seo就业前景伪原创怎么写 ,头像ai画怎么弄