快速排序 #java实现
快速排序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | private static void quickSort( int [] arr, int low, int high) { if (low >= high) { return ; } int central = arr[low]; int left = low; int right = high; int pos = 1 ; while (left < right) { if (pos == - 1 ) { //到左边操作 if (arr[left] > central) { arr[right] = arr[left]; pos = 1 ; right--; } else { while (arr[left] <= central && left < right) { left++; } } } else { //到右边操作 if (arr[right] < central) { arr[left] = arr[right]; pos = - 1 ; left++; } else { while (arr[right] >= central && left < right) { right--; } } } } arr[left] = central; //将pivot中心轴(也就是一个元素),放在left=right相等时的这个索引上 //将左右子序列提取出来,单独作为数组,重复上面的操作 quickSort(arr, low, left - 1 ); quickSort(arr, right + 1 , high); } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」