这篇文章将为大家详细讲解有关java如何实现快速排序算法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创新互联是一家以网站设计,开发核心业务的专业网站建设公司,创新互联为客户提供:软文发稿、创新网站解决方案。我们的目标是提高客户网站项目的专业度,以创新和互联的思维增加用户体验并有效提高潜在客户。
快速排序算法使用的分治法策略来把一个序列分为两个子序列来实现排序的
思路:
1.从数列中挑出一个元素,称为“基准“
2.重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分割之后,该基准是它的最后位置。这个称为分操作
3.递归地把小于基准值元素的子数列和大于基准值元素的子数列排序。
public static void quickSort(int[] numbers, int start, int end) {
if (start < end) {
int base = numbers[start]; // 选定的基准值(第一个数值作为基准值)
int temp; // 记录临时中间值
int i = start, j = end;
do {
while ((numbers[i] < base) && (i < end))
i++;
while ((numbers[j] > base) && (j > start))
j--;
if (i <= j) {
temp = numbers[i];
numbers[i] = numbers[j];
numbers[j] = temp;
i++;
j--;
}
} while (i <= j);
if (start < j)
quickSort(numbers, start, j);
if (end > i)
quickSort(numbers, i, end);
}
}
关于“java如何实现快速排序算法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
当前题目:java如何实现快速排序算法
路径分享:https://www.cdcxhl.com/article36/jjhppg.html
成都网站建设公司_创新互联,为您提供移动网站建设、微信公众号、网站导航、面包屑导航、网站维护、网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联