快速排序
上一篇 /
下一篇 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: