QuickSort 快速排序 基于伪代码实现
2015-08-17 19:26
357 查看
本文原创,转载请注明地址 /article/5741937.html
伪代码
quicksort(A, lo, hi) if lo < hi p = partition(A, lo, hi) quicksort(A, lo, p - 1) quicksort(A, p + 1, hi) partition(A, lo, hi) pivot = A[hi] i = lo //place for swapping for j = lo to hi - 1 if A[j] <= pivot swap A[i] with A[j] i = i + 1 swap A[i] with A[hi] return i
Java实现
public void quickSort(int[] a,int lo, int hi){ if(lo<hi){ int p=partition(a, lo, hi); quickSort(a,lo,p-1); quickSort(a, p+1, hi); } } public int partition(int[] a,int lo, int hi){ int i,j,privot; privot=a[hi]; i=lo; for(j=lo;j<=hi-1;j++){ if(a[j]<privot){ swap(a, i, j); i++; } } swap(a,i,hi); return i; } public void swap(int[] a,int lo,int hi){ int s=a[lo]; a[lo]=a[hi]; a[hi]=s; }
相关文章推荐
- easyui 快速开发整理
- iOS开发-Day25-UIView
- SPOJ 题目375 Query on a tree(link cut tree边权更新,求两点最大值)
- requireJs杂项
- String,StringBuffer和StringBuilder的区别
- poj 3368 Frequent values(一维RMQ)
- Chapter4: View - The Big Nerd Ranch Guide 读书笔记
- android build 过程 (ramdisk.img、sytem.img、userdata.img)和 启动过程简单分析
- UVA 11995 I Can Guess the Data Structure!【模拟】
- 使用query参数过滤组合AWS CLI输出信息
- UE4 Material Properties
- Android Studio Building 'xxx' Gradle project info
- UE3 材质概述
- EasyUI DataGrid 复选框
- 关于InvokeRequired与Invoke
- 解决Bui框架下拉框select配合Gird弹出模态编辑框使用,无法选取编辑行的下拉内容.
- POJ2533-Longest Ordered Subsequence
- Amazon UI 学习笔记
- 线段树专题—HDU 4027 Can you answer these queries?
- easyui-validatebox 验证两次密码是否输入一致