码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA排序算法(1)

时间:2014-12-17 14:20:16      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:ar   sp   for   java   数据   bs   amp   as   tt   

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)

标签:ar   sp   for   java   数据   bs   amp   as   tt   

原文地址:http://www.cnblogs.com/dj1992/p/4169201.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!