java实现快速排序算法的思路是什么

互联网 20-6-10

1、什么是快速排序算法

2、快速排序算法的思想

通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

(视频教程推荐:java视频教程)

3、实现思路

(1)以第一个关键字 K 1 为控制字,将 [K 1 ,K 2 ,…,K n ] 分成两个子区,使左区所有关键字小于等于 K 1 ,右区所有关键字大于等于 K 1 ,最后控制字居两个子区中间的适当位置。在子区内数据尚处于无序状态。;

(2)把左区作为一个整体,用(1)的步骤进行处理,右区进行相同的处理。(即递归)

(3)重复第(1)、(2)步步骤,直到左区处理完毕。

4、实现代码

static void quicksort(int n[], int left, int right) {         int dp;         if (left < right) {             dp = partition(n, left, right);             quicksort(n, left, dp - 1);             quicksort(n, dp + 1, right);         }     }       static int partition(int n[], int left, int right) {         int pivot = n[left];         while (left < right) {             while (left < right && n[right] >= pivot)                 right--;             if (left < right)                 n[left++] = n[right];             while (left < right && n[left] <= pivot)                 left++;             if (left < right)                 n[right--] = n[left];         }         n[left] = pivot;         return left;     }

推荐教程:java入门程序

以上就是java实现快速排序算法的思路是什么的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 思路
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:面向对象的三大特征:封装、继承、多态

相关资讯