随机快排算法
来源:互联网 发布:2016年7月出口数据 编辑:程序博客网 时间:2024/04/24 14:09
package Sort;import java.util.Random;import com.sun.java_cup.internal.version;public class QuickSort {//取第一个数划分 public void quicksort(int []a,int start,int end) { if(start==end||end<0 start="">end) return ; int i=start,j=end; int temp=a[i]; while(itemp&&i<j)j--; a[i]=a[j]; while(a[i]<=temp&&i<j)i++; a[j]=a[i]; } a[j]=temp; quicksort(a, start, j-1); quicksort(a, j+1, end); } //随机划分快排 public void quicksort1(int []a,int start,int end) { if(start==end||end<0 start="">end) return ; int i=start,j=end; Random random =new Random(System.currentTimeMillis()); int k=Math.abs(random.nextInt()%(j-i+1))+i; int temp=a[k]; swap(a[start], a[k]); while(itemp&&i<j)j--; a[i]=a[j]; while(a[i]<=temp&&i=start) quicksort1(a, start, j-1); if(j+1<=end) quicksort1(a, j+1, end); } public void swap(int value1,int value2) { int temp=value1; value1=value2; value2=temp; } public static void main(String[] args) {QuickSort qs=new QuickSort();Random random =new Random(System.currentTimeMillis());int a[]=new int[100];for(int k=0;k<100;k++){a[k]=random.nextInt()%100+1;System.out.print(a[k]+" ");}qs.quicksort1(a, 0, a.length-1);System.out.println();for(int m:a)System.out.print(m+" ");int []b={3,2};qs.quicksort(b, 0, 1);System.out.println();for(int m:b)System.out.print(m+" ");}}
- 随机快排算法
- 随机快排
- 随机快排
- 快排 随机分割
- 算法----快排算法
- 快排(随机取数)
- 快排算法
- 快排算法
- 快排算法
- 快排算法cmp
- 快排算法
- 算法导论--->快排
- 排序算法--快排
- 快排算法quickSort
- 快排算法
- [算法]快排
- c#快排算法
- 算法 排序 快排
- 《MySQL必知必会》摘录与体会
- 2.28(1)
- 【dubbo】-001dubbo的基本介绍
- ZOJ 1002
- Swing编程边框(Border)的用法总结
- 随机快排算法
- 成绩管理
- SICP第二章学习笔记
- GOF23设计模式之原型模式与创建型模式总结
- 【dubbo】-002dubbo基本功能
- GOF23设计模式之原型模式之实现
- 喜大普奔--CSDN支持markdown
- 2.28(2)
- 通过人脸判断性别(补充材料)