Java 快速排序算法 演示
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;} }?
?上次华仔做毕业设计的时候,用到了排序,而这次项目中要做内存排序,看来排序在实际项目中还是比较重要的。