数据结构9:快速排序
来源:互联网 发布:孙俪的淘宝店怎么找 编辑:程序博客网 时间:2024/06/06 17:35
入口函数为public static void sort(long[] arr, int left, int right)
package ch09;/* * 快速排序 */public class QuickSort { /** * 划分数组 */ public static int partition(long arr[],int left, int right,long point) { int leftPtr = left - 1; int rightPtr = right; while(true) { //循环,将比关键字小的留在左端 while(leftPtr < rightPtr && arr[++leftPtr] < point); //循环,将比关键字大的留在右端 while(rightPtr > leftPtr && arr[--rightPtr] > point); if(leftPtr >= rightPtr) { break; } else { long tmp = arr[leftPtr]; arr[leftPtr] = arr[rightPtr]; arr[rightPtr] = tmp; } } //将关键字和当前leftPtr所指的这一个进行交换 long tmp = arr[leftPtr]; arr[leftPtr] = arr[right]; arr[right] = tmp; return leftPtr; } public static void displayArr(long[] arr) { System.out.print("["); for(long num : arr) { System.out.print(num + " "); } System.out.print("]"); System.out.println(); } public static void sort(long[] arr, int left, int right) { if(right - left <= 0) { return; } else { //设置关键字 long point = arr[right]; //获得切入点,同时对数组进行划分 int partition = partition(arr, left, right, point); //对左边的子数组进行快速排序 sort(arr,left,partition - 1); //对右边的子数组进行快速排序 sort(arr,partition + 1, right); } }}
阅读全文
0 0
- 数据结构9:快速排序
- 数据结构之快速排序
- 数据结构练习:快速排序
- 数据结构之快速排序
- 数据结构之------快速排序
- 快速排序<参考数据结构>
- 数据结构之快速排序
- 数据结构 快速排序
- 数据结构之快速排序
- 【数据结构】快速排序
- 数据结构_快速排序
- 数据结构 - 快速排序
- C++数据结构--快速排序
- C++数据结构--快速排序
- 数据结构--冒泡、快速排序
- 数据结构之快速排序
- 数据结构之快速排序
- [数据结构]快速排序
- 运算符重载:赋值、类型转换
- 查找命令find的常见用法
- 漫画算法:判断2的乘方
- UITableView使用基础篇
- Hive 表类型简述
- 数据结构9:快速排序
- Linux磁盘分区fdisk命令用法
- iPhone 8概念设计:电源键集成Touch ID
- flex布局实现小标题
- Java模拟新浪微博登陆抓取数据
- 14、javascript函数与数组
- 20170801 建军大业
- python+eclipse+pydev安装配置
- 如何解决跨域问题?