Blog is from this site:http://baike.baidu.com/view/19016.htm?fr=ala0_1
正文:
package com.morningstar.quicksort;
import java.util.Random;
public class QuickSort
{
public static void main(String args[])
{
Random random=new Random();
int[] pData=new int[10];
for(int i=0;i<pData.length;i++){ //随机生成10个排序数
Integer a =random.nextInt(100);
pData[i]= a;
System.out.print(pData[i]+" ");
}
System.out.println("\n");
int left=0;
int right=pData.length-1;
Sort(pData,left,right);
for(int i=0;i<pData.length;i++){
System.out.print(pData[i]+" ");
}
System.out.println();
}
public static int[] Sort(int[] pData, int left, int right)
{
int middle,strTemp;
int i = left;
int j = right;
middle = pData[(left+right)/2];
do
{
while((pData[i]<middle) && (i<right))
i++;
while((pData[j]>middle) && (j>left))
j--;
if(i<=j)
{
strTemp = pData[i];
pData[i] = pData[j];
pData[j] = strTemp;
i++;
j--;
}
for(int k=0;k<pData.length;k++)
{
System.out.print(pData[k]+" ");
}
System.out.println();
}while(i<j);//如果两边扫描的下标交错,完成一次排序
if(left<j)
Sort(pData,left,j); //递归调用
if(right>i)
Sort(pData,i,right); //递归调用
return pData;
}
}
上次华仔做毕业设计的时候,用到了排序,而这次项目中要做内存排序,看来排序在实际项目中还是比较重要的。