快速排序实例
来源:互联网 发布:用中文域名的大公司 编辑:程序博客网 时间:2024/05/27 19:25
快速排序是根据待排序数组中的某一值val,将待排序数组分割成两部分数据,前一部分数组比val小
,后一部分数组比val大,之后对每部分数据重复上述过程,最终实现待排序数组的有序性,实例如下:
public class QuickSortMain { public static void main(String[] args) { sort(); } /** * 切分待排序数组 * @param arr * @param low * @param high * @return */ static int split(int[] arr, int low, int high) { int key = arr[low]; while (low < high) { while (low < high && arr[high] >= key) high--; arr[low] = arr[high]; while (low < high && arr[low] <= key) low++; arr[high] = arr[low]; } arr[low] = key; return low; } /** * 递归切分数据 * @param arr * @param low * @param high */ static void sort(int[] arr, int low, int high) { if (low < high) { int mid = split(arr, low, high); sort(arr, low, mid - 1); sort(arr, mid + 1, high); } } static void sort(int[] arr) { sort(arr, 0, arr.length - 1); } static void sort() { int[] arr = {8, 1, 3, 3, 45, 2, 5, 1, 9, 2, 6, 7}; sort(arr); System.out.println(Arrays.toString(arr)); }}
阅读全文
0 0
- 快速排序实例
- c++快速排序实例
- 快速排序实例
- 快速排序-php实例
- 快速排序实例
- 快速排序实例
- 快速排序的实例
- 快速排序qsort算法实例
- C实例---快速排序(冒泡排序)
- 快速排序原理解析及实例应用
- 快速排序算法及C++实例
- Java实例17 - 快速排序 quick sort
- 快速排序qsort()源码及使用实例。
- 快速排序实例化(详细过程)
- 数据结构14-排序方法之快速排序的实例
- 最好理解的快速排序 :实例解析输入数组,排序
- 排序与查找实例(三):快速排序
- php冒泡排序与快速排序实例详解
- 稀疏矩阵快速转秩
- 河南省第十届ACM省赛题解 F Binary to Prime
- Android---网络编程(AsyncHttpClient)
- 大型网站架构之JAVA中间件
- Linux操作(持续补充)
- 快速排序实例
- WebSocket
- Huffman Tree
- C语言的入门心得1——自我介绍及编译器的运用
- [学习笔记]Android知识点-点9切图法在Android UI设计中的运用
- Http中的请求-get-post
- Seq2seq自动跟帖
- 导出EXCEL
- Spring 事务传播行为