首页 > 代码库 > JAVA排序算法(1)

JAVA排序算法(1)

package com.test;

public class TestTwo {

//测试用例
public static void main(String args[]){
int[] array=new int[]{1,2,5,9,0,4,3};//定义一个数组
Rank(array, 0, array.length-1);//调用排序
for(int i=0;i<array.length;i++){
System.out.print(array[i]);//输出排序之后的数组
}
}

//排序算法
public static void Rank(int[] data,int low,int high){
int middle=data[(low+high)/2];//取中间节点数据
int i=low;//定义起点
int j=high;//定义终点
do{
while(data[i]<middle&&i<high) i++;//前一部分
while(data[j]>middle&&j>low) j--;//后一部分
if (i <= j)//交换数据
{
int temp=data[i];
data[i]=data[j];
data[j]=temp;
i++;
j--;
}
}while(i<=j);
// 递归对比分割点元素都小的那个序列进行快速排序
if(j>low){
Rank(data, low, j);
}
// 递归对比分割点元素都大的那个序列进行快速排序
if(i<high){
Rank(data, i, high);
}

}

}

 

输出结果:0123459

JAVA排序算法(1)