快速排序算法(Java实现)
2021/5/9 20:25:36
本文主要是介绍快速排序算法(Java实现),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
public class QuickSort { //测试 public static void main(String[] args) { QuickSort quickSort = new QuickSort(); int[] ints = {3, 1, 7, 10, 6, 8, 2, -6, 123}; int[] res = quickSort.quickSort(ints, 0, ints.length - 1); System.out.println("输出排序后的数组如下:"); for (int i : res) { System.out.println(i); } } /** * 快速排序算法主体 * * @param arr * @param left 初始是0 * @param right 初始是length-1 * @return */ private int[] quickSort(int[] arr, int left, int right) { if (left < right) { // 获取基准值 base // 这个函数不仅仅选出了基准值,还修改了原来的数组 int base = partition(arr, left, right); //分别对左右两边递归调用 quickSort(arr, left, base - 1); quickSort(arr, base + 1, right); } return arr; } /** * 选定基准值 * * @param arr * @param left * @param right * @return */ private int partition(int[] arr, int left, int right) { // 设定基准值(pivot)int index = left + 1; for (int i = index; i <= right; i++) { if (arr[i] < arr[left]) { swap(arr, i, index); index++; } } swap(arr,left, index - 1); return index - 1; } /** * 交换数组中两个数 * * @param arr * @param i * @param j */ private void swap(int[] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; }
这篇关于快速排序算法(Java实现)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求