专业的JAVA编程教程与资源

网站首页 > java教程 正文

面试时常见算法之快速排序Java版实现

temp10 2024-10-09 20:40:56 java教程 12 ℃ 0 评论

大家好!我是黑客之家小编,黑客之家头条号

分享黑客技术,GO、Python、Kotlin、Android、Java编程知识,科技资讯等

面试时常见算法之快速排序Java版实现

喜欢的朋友可以关注我的头条号!

快速排序基于分而治之的思想,是冒泡排序的改进型,但是比冒泡排序的效率要高很多。快速排序把一个数组arr分为较小和较大的2个子序列,然后递归地排序两个子序列。首先在数组中选择一个基准点一般选择数组中第一个元素arr[0]作为基准点,然后分别从数组arr的两端扫描数组,设两个指示标志(start指向起始位置,end指向末尾),先从数组的末端end=lenth-1位置开始比较大小,如果发现有元素比该基准点的值小,就交换start和end位置的值,然后从数组的前半部分start=0开始比较大小,发现有元素大于基准点的值,就交换start和end位置的值。

如此往复循环,直到start>=end,然后把基准点的值放到end这个位置,一次排序就完成了。之后采用递归的方式分别对前半部分和后半部分进行排序,当前半部分和后半部分均有序时该数组的就排好了。

Java代码实现如下:


运行代码在控制台输出结果如下:

由于有时代码显示格式会比较乱,如果有感兴趣的朋友可以在后台私信我获取完整源码,私信中发送"msjava"获取java快速排序源码。

更多面试相关文章可以查看我之前的文章,喜欢的朋友可以关注、点赞、转发、评论!期待大家的反馈意见!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表