算法之7-快速排序
来源:互联网 发布:php冒泡 编辑:程序博客网 时间:2024/06/07 00:37
本文是快速排序的java实现
package com.demo.sort;/** * Created by Zhang chunrong on 2016/10/3. */public class QuickSort { public static void main(String args[]) { int arr[] = new int[]{50, 1, 23, 32, 32, 322, 2, 89, 99, 67, 56}; int arrLen = arr.length; quickSort(arr, 0, arrLen - 1); for (int i = 0; i < arrLen; i++) { System.out.print(arr[i] + " "); } } //快速排序 private static void quickSort(int[] arr, int i, int idx) { /* * 1.先从数列中选择一个数作为基准数(pivot) * 2.把数列中大于基准数的放在右边,把数列中小于基准数的放在左边 * 3.再对左右区间进行1,2步,直到各区间只有一个数 */ //边界条件 if (i >= idx) { return; } int pivot = arr[i]; int start = i; int end = idx; while (i < idx) { //先从右向左查找 while (i < idx && arr[idx] >= pivot) { idx--; } //开始挖坑 arr[i] = arr[idx]; i++; while (i < idx && arr[i] < pivot) { i++; } arr[idx] = arr[i]; idx--; } //填上最后一个坑 arr[i] = pivot; //对分区内容进行递归调用 quickSort(arr, start, i - 1); quickSort(arr, i + 1, end); }}
1 2 32 23 32 50 89 56 67 99 322
0 0
- 算法之7-快速排序
- 算法之快速排序
- 算法之快速排序
- 算法之快速排序
- 算法之快速排序
- [算法]之快速排序
- 算法之--快速排序
- 算法之快速排序
- 算法之快速排序
- 算法之快速排序
- 算法之快速排序
- 算法之快速排序
- 算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法之快速排序
- 排序算法 之 快速排序
- 排序算法之快速排序
- DiskFileItemFactory文件上传
- mysql命令导出 报错
- C#之winform基础 ,form1显示form2中textbox中输入的文本,窗体间传值
- java网络爬虫学习记录(一)概述
- 服务的应用-后台执行的定时任务
- 算法之7-快速排序
- 从0打造自己的mvc框架3-3-3-4
- window 常用命令
- 自定义View的实现
- 数据库面试笔记
- LeetCode | 6)ZigZag Conversion
- Android 6.0 View加载流程源码分析
- CCPC长春赛区K题 hdu 5921 Binary Indexed Tree
- 安装python模块,常用安装方式