我见过最通俗易懂的快速排序过程讲解,转自《坐在马桶上看算法:快速排序》
2016-12-07 17:49
239 查看
如果以上C代码看不懂,请看下面java代码:
public static int Partition(int[] a,int p,int r){ int x=a[r-1]; int i=p-1; int temp; for(int j=p;j<=r-1;j++){ if(a[j-1]<=x){ // 交换(a[j-1],a[i-1]); i++; temp=a[j-1]; a[j-1]=a[i-1]; a[i-1]=temp; } } //交换(a[r-1,a[i+1-1]); temp=a[r-1]; a[r-1]=a[i+1-1]; a[i+1-1]=temp; return i+1; } public static void QuickSort(int[] a,int p,int r){ if(p<r){ int q=Partition(a,p,r); QuickSort(a,p,q-1); QuickSort(a,q+1,r); } } //main方法中将数组传入排序方法中处理,之后打印新的数组 public static void main(String[] stra){ int[] a={7,10,3,5,4,6,2,8,1,9}; QuickSort(a,1,10); for (int i=0;i<a.length;i++) System.out.println(a[i]); }
相关文章推荐
- 我见过最通俗易懂的快速排序过程讲解,转自《坐在马桶上看算法:快速排序》
- 坐在马桶上学算法@最常用的排序——快速排序
- 【坐在马桶上看算法】算法3:最常用的排序——快速排序
- 从算法入手讲解SQL Server典例实现过程
- 【坐在马桶上看算法】算法3:最常用的排序——快速排序
- 通俗易懂的KMP匹配算法讲解,NEXT【i】
- "选择排序"算法-之通俗易懂原理讲解-java编程
- 学习算法 -- 马桶排序、冒泡排序和快速排序
- ORB算法讲解的通俗易懂
- 【坐在马桶上看算法】算法3:最常用的排序——快速排序
- 机试算法讲解:第2题 结构体之快速排序
- [C#][算法] 用菜鸟的思维学习算法 -- 马桶排序、冒泡排序和快速排序
- 坐在马桶上看算法(3):快速排序
- 机试算法讲解:第1题 冒泡排序与快速排序
- 坐在马桶上看算法:快速排序
- 通俗易懂的讲解----面向对象和面向过程的区别
- 坐在马桶上看算法:快速排序(转载整理)
- 如何记牢容易忘记的快速排序(坐在马桶上看算法:快速排序)
- 【坐在马桶上看算法】算法3:最常用的排序――快速排序
- 多级树集合分裂(SPIHT)算法的过程详解和Matlab实现(3)编码过程——主程序