在现实生活中,当我们遇见好看的姑娘,我们很可能经验性的把她划分到美女一组里,而长相不那么给力的姑娘,分到别的组里,那么,分组的这么一个过程,其实就是划分算法,在划分算法里,我们往往需要一个pivot,来对姑娘进行分类,在这个例子中,pivot就是颜值
public class PartitionItSort { // public static int theArr[]=new int []{13,2,4,1,22,31,5,7,8,9,15,17}; public static int partition=10; public static void partitionitSort(int leftPar,int rightPar,int pivot){ int left=leftPar-1; int right=rightPar+1; while(true){ while(left<rightPar && theArr[++left]<pivot) ; while(right>leftPar && theArr[--right]>pivot) ; if(left>=right){ break; }else{ swap(left, right); } } return; } public static void display(){ for(int i=0;i<theArr.length;i++){ System.out.print(theArr[i]+" "); } } public static void swap(int a,int b){ int temp; temp=theArr[a]; theArr[a]=theArr[b]; theArr[b]=temp; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int leftPar=0; int rightPar=theArr.length; partitionitSort(0,rightPar-1,10); display(); } }