java中快速排序法是什么
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章将为大家详细讲解有关java中快速排序法是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。快速排序法:顾名思议,快速排序法是实践中的一种快速的排序算法,在
千家信息网最后更新 2026年11月04日java中快速排序法是什么
这篇文章将为大家详细讲解有关java中快速排序法是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
快速排序法:
顾名思议,快速排序法是实践中的一种快速的排序算法,在c++或对java基本类型的排序中特别有用。它的平均运行时间是0(N log N)。该算法之所以特别快,主要是由于非常精练和高度优化的内部循环。
快速排序是对冒泡法的一种改进。通过一趟排序将要排序的的数据分割成独立的两部分,其中一部分的所有数据都比另一部分所有的数据要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
示意图:
这里 定义最左边元素 为left 最右边元素为right
p 元素的值 就是 2对应的索引 0 加上 5对应的索引 7 之和 除以2 得到 索引为3 对应的元素7
用左边大于 7的数跟右边小于7的数进行 交换位置 一直进行 并且 中间的p也要一直变化位置
直到 排完
代码实现:
import java.util.Arrays; public class kuaisu { public static void main(String[] args) { int arrays[]=new int[]{2,9,4,7,3,3,6,5}; sort(arrays,0,arrays.length-1); System.out.println(Arrays.toString(arrays)); } public static void sort(int arrays[],int left,int right){ int l=left ;//给定下标 int r=right;//给定下标 int temp; //定义一个变量 作为中间值 交换 左右两边的元素位置 int pivot=arrays[(left+right)/2];//中间值 while(larrays[pivot]){ r--; }//直到左边元素大于右边元素就结束 if(l>=r){ break; } temp=arrays[l]; arrays[l]=arrays[r]; arrays[r]=temp; //交换完arrays[l]=pivot if(arrays[l]==pivot){ r--; } if(arrays[r]==pivot){ l++; } if(r==l){ //要让左边元素 往左边移 右边元素往右边移 错开 l++; r--; } //对左边进行递归 if(leftl){ sort(arrays,l,right); } } }} 控制台输出结果 如下:
关于"java中快速排序法是什么"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
排序
元素
右边
数据
位置
篇文章
索引
下标
更多
算法
部分
递归
不错
实用
有序
精练
之和
之所以
代码
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海喔噻互联网科技有限公司
华服互联网科技靠谱吗
上海互联网科技有限公司
平安科技 互联网
万易互联网科技有限公司
互联网科技汛
四川狮子座互联网科技
央行互联网金融科技公司
现代互联网科技股
互联网科技公司实习生
青岛科技大学互联网大赛研究生
江阴互联网智能科技产品进口
互联网科技大奖都有哪些公司
银川新华互联网科技学校联系电话
互联网第三次科技革命特征
科技互联网行业投资研究
互联网科技机房
艺电能源互联网科技有限公司招聘
北京品多多互联网科技有限公司
互联网科技大会大佬
互联网金融科技
南京欣网互联网络科技
互联网和科技创新
盈实互联网科技
博兴的互联网电子科技公司
宝灵互联网科技有限公司
明优互联网科技有限公司
张召忠谈中国互联网科技
互联网科技年终奖
科技美学互联网 艺术