/*
*
* 功能:快速排序
*/
package com.haitao.array;
import java.util.Calendar;
public class Demo5_6 {
public static void main(String[] args) {
int len = 800000;
int[] arr1=new int[len];
for(int i=0;i<len;i++)
{
//让程序随机产生一组1-1000数
//Math.random()会产生一个0~1
int t=(int)(Math.random()*1000);
arr1[i]=t;
}
//创建一个新实例
InsertSort is=new InsertSort();
//获取排序前的时间
Calendar cal=Calendar.getInstance();
System.out.println("排序前:"+cal.getTime());
//排序
is.sort(arr1);
//重新得到实例
cal=Calendar.getInstance();
System.out.println("排序后:"+cal.getTime());
// for(int j=0;j<arr1.length;j++)
// {
// System.out.print(" "+arr1[j]+" ");
//
//
// }
}
}
//快速排序
class QuickSort
{
public static void sort(int[] arr) {
innerQuickSort(arr, 0, arr.length - 1);
}
private static void innerQuickSort(int[] arr, int head, int end) {
if (head >= end) {
return;
}
int index = head;
for (int i = head; i < end; i++) {
if (arr[i] <= arr[end] && index != i) {
arr[index] ^= arr[i];
arr[i] ^= arr[index];
arr[index] ^= arr[i];
index++;
}
}
if (index != end) {
arr[index] ^= arr[end];
arr[end] ^= arr[index];
arr[index] ^= arr[end];
}
innerQuickSort(arr, head, index - 1);
innerQuickSort(arr, index + 1, end);
}
}
java快速排序
最新推荐文章于 2024-04-28 14:38:27 发布