/** * 功能:排序算法的演示 */ package com.text; import java.util.Calendar; public class Text2 { public static void main(String[] args) { int len=100000; int a[]=new int[len]; for (int i = 0; i < a.length; i++) { int t=(int)Math.random()*10000; a[i]=t; } // Quick quick=new Quick(); Insert insert=new Insert(); //在排序前打印系统时间 Calendar cal=Calendar.getInstance(); System.out.println("排序前:"+cal.getTime()); insert.insertSort(a); // quick.quickSort(0, a.length-1,a); cal=Calendar.getInstance(); System.out.println("排序后:"+cal.getTime()); /*int a[]={1,5,2,15,6,-2,11,12,100,56,79,21,1000,566}; Quick quick=new Quick(); quick.quickSort(0, a.length-1,a); for (int i = 0; i < a.length; i++) { System.out.print(" "+a[i]); }*/ } } //选择排序 class Insert{ int temp; public void insertSort(int a[]){ for (int i = 0; i < a.length-1; i++) { int min=a[i]; //记录最小值的下标 int minIndex=i; for (int j = i+1; j < a.length; j++) { if (min>a[j]) { //修改最小值 min=a[j]; minIndex=j; } } temp=a[i]; a[i]=a[minIndex]; a[minIndex]=temp; } } } //快速排序 class Quick{ public void quickSort(int left,int right,int a[]){ int l=left; int r=right; int pivot = a[(left+right)/2]; int temp = 0; while(l=r) break; temp=a[l]; a[l]=a[r]; a[r]=temp; if(a[l]==pivot) --r; if(a[r]==pivot) ++l; } if(l==r){ l++; r--; } if(leftright) quickSort(l, right,a); } }