排序算法-快速排序
2012-05-09 20:05
295 查看
快速排序
static Parti p=new Parti(); public static void quick(int[] r,int first,int end){ //利用递归反复划分 if(first<end){ int pivot=p.partition(r, first, end); //调用划分函数 quick(r,first,pivot-1); quick(r,pivot+1,end); } } public static void main(String[] args) { int r[]={12,25,36,63,21,32,56,11}; System.out.println("待排序的记录序列是:"); for(int i=0;i<8;i++){ System.out.print(r[i]+" "); } quick(r,0,7); System.out.println("\n"+"排序好的记录是:"); for(int i=0;i<8;i++){ System.out.print(r[i]+" "); } }
public int partition(int[] r,int first,int end){ int i,j; i=first;j=end; //初始化 while(i<j){ while(i<j&&r[i]<=r[j]) j--; //右侧扫描 if(i<j){ //将较小的记录交换到前面 int temp; temp=r[i]; r[i]=r[j]; r[j]=temp; } while(i<j&&r[i]<r[j]){ i++; //左侧扫描 } if(i<j){ //将较大的记录换到后面 int temp; temp=r[i]; r[i]=r[j]; r[j]=temp; } } return i; }
相关文章推荐
- 排序算法-----快速排序简单介绍
- 排序算法---快速排序
- 排序算法(2)-快速排序
- 排序算法(三):快速排序与顺序统计学
- 排序算法-快速排序
- 排序算法:快速排序
- 基本排序算法之3——快速排序quicksort
- 排序算法(六):快速排序
- 排序算法之快速排序
- 排序算法之(4)——快速排序
- 排序算法---快速排序(JDK1.7 DualPivotQuicksort 源码解析)
- 排序算法-快速排序
- 排序算法(五)——快速排序
- 【常用排序算法】快速排序(Java实现)
- 排序算法(一)快速排序
- 排序算法——快速排序
- 简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法2——快速排序
- 基本排序算法04----快速排序(quick sort)