快速排序Java实现
2021/6/2 12:24:25
本文主要是介绍快速排序Java实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
public class Hello { public static void main(String[] args) { //int[] arr = {2,5,1,6,9,3}; int[] arr = {12,20,5,16,15,1,30,45,23,9}; quickSort(arr, 0, arr.length - 1); for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } public static int quickSort(int[] arr, int left, int right){ if(left > right){ return 0; } int i = left; int j = right; // 基准位 int base = arr[left]; while(i < j){ // 先看右边,依次往左递减 // i < j 防止越界 while(arr[j] >= base && i < j){ j--; } // 再看左边,依次往右递增 while(arr[i] <= base && i < j){ i++; } // 如果满足条件则交换 int tmp = arr[j]; arr[j] = arr[i]; arr[i] = tmp; } // 最后将基准为与i和j相等位置的数字交换 // 必须注意交换顺序 arr[left] = arr[i]; arr[i] = base; quickSort(arr, left, i - 1); quickSort(arr, i + 1, right); return 0; } }
这篇关于快速排序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 实现数据请求