快速排序

上一篇 / 下一篇  2012-06-18 06:42:54 / 个人分类:java


public class test1 {
 int[] numArr;
 int max;
 int no=0;
 
 test1( int len)
 {
  max=len;
  numArr=new int[len];
  no=0;
  
 }
 
 void insert(int value)
 {
  if(no<max)
  {
   numArr[no]=value;
   no++;
  }
 }
 
 void sort()
 {
  quicksort(0,no-1);
  
  
 }
 
 void quicksort(int left, int right)
 {
  if(left<right)
  {
   int mid;
   //System.out.println(right);
   
   mid=findposition(left, right);
   
   quicksort(left, mid-1);
   quicksort(mid+1, right);
   
  }
  
 }
 
 int findposition(int left, int right)
 {
  int i;
  for(i=left+1;i<=right;i++)
  {
   if(numArr[i]<numArr[left])
   {
    int temp;
    temp=numArr[i];
    for(int n=left;n<i;n++)
    {numArr[n+1]=numArr[n];}
    numArr[left]=temp;
    left++; 
    
   }
   
   
   
  }
   
  return left;
  
 }
 
 
 void display()
 {
  for(int i=0;i<no;i++)
  {System.out.println(numArr[i]);}
 }
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  test1 test = new test1(10);
  test.insert(1);
  test.insert(12);
  test.insert(3);
  test.insert(4);
  test.insert(3);
  test.sort();
  test.display();
 
 

 }
}

TAG:

 

评分:0

我来说两句

Open Toolbar