快速排序quicksort-算法导论java实现

来源:互联网 发布:mac免费翻墙软件下载 编辑:程序博客网 时间:2024/04/30 22:15

package quicksort;


public class quicksort {

publicstaticvoid main(String[] args) {

int[]array={34,8,3,825,97,2,57,98,36};

System.out.println("数组的长度为:"+array.length);

quicksort.qs(array, 0,array.length-1);

System.out.println("排序之后的数组为:");

showArray(array);

}

publicstaticvoid showArray(int[]array) {

for (inteach:array)

System.out.println(each);

}

publicstatic void swap(int[] array,int i,intj) {

int temp=array[i];

array[i]=array[j];

array[j]=temp;

}

publicstatic int partition(int[]array,int p,intr) {

int key=array[r];

inti=p-1;

for (int j=p;j<=r-1;j++){

    if (array[j]<=key){

i=i+1;

swap(array,i,j);

}

}

swap(array,i+1, r);

returni+1;

}

publicstatic void qs(int[]array,intp,intr){

if (p<r){

intq=partition(array,p,r);

qs(array,p,q-1);

qs(array,q+1,r);

}

}

}

输出结果为:

数组的长度为:9

排序之后的数组为:

2

3

8

34

36

57

97

98

825

0 0
原创粉丝点击