算法--快速排序
来源:互联网 发布:c语言abs 编辑:程序博客网 时间:2024/05/31 19:34
快速排序:
快速排序采用二分法,选数组中(start为i,end为j)一个元素作为基数(下标point),把数组分为小于、大于基数的两段子数组 (i,point-1与 point+1,j),然后递归对子数组进行快速排序。最关键的点就是寻找point。
public int getPoint(int[] arr, int i, int j) { int key = arr[i]; while (i < j) { if (i < j && key <= arr[j]) { j--; } if (i < j) { arr[i++] = arr[j]; } if (i < j && key >= arr[i]) { i++; } if (i < j) { arr[j--] = arr[i]; } } arr[i] = key; return i;}
public void quickSort(int[] arr, int i, int j) { if (i < j) { int point = getPoint(arr, i, j); quickSort(arr, point + 1, j); quickSort(arr, i, point - 1); }}
0 0
- 排序算法--快速排序
- 排序算法--快速排序
- 排序算法---快速排序
- 排序算法-快速排序
- 排序算法------快速排序
- 排序算法---快速排序
- 排序算法-快速排序
- 排序算法---快速排序
- 排序算法--快速排序
- 排序算法--快速排序
- 排序算法--快速排序
- 排序算法:快速排序
- 排序算法 快速排序
- 排序算法--快速排序
- 排序算法--快速排序
- 【排序算法】快速排序
- 排序算法--快速排序
- 排序算法:快速排序
- CentOS7安装MySQL数据库
- Android View事件分发机制
- 脚本实现自动建立swap分区
- Android 平台下使用 i2c-tools
- Neo4j安装
- 算法--快速排序
- 做BLE阶段参考过的博客
- VPN组网不用愁,即插即用功能的路由设备帮你忙
- 用Swift3实现n*n阶矩阵顺时针输出
- 【表达式求值】中缀表达式转变为后缀表达式
- 小程序介绍及结构
- 红宝书 第18章整理——XPath
- jmeter性能小实例
- HDU5543 Pick The Sticks(01背包变种,dp)(2015CCPC)