您的位置:首页 > 编程语言 > Java开发

java实现快速排序算法

2017-04-17 17:50 274 查看
java实现快速排序算法。

package myDDmo;

/**
* java实现快速排序算法
* @author trust the process
*
*/
public class Demo {
public static void main(String[] args) {
System.out.println("======java实现快速排序算法======");

//创建一个数组
int[] a = {37,7,44,48,6,12,69,51};

//对该数组进行快速排序
quick_sort(a,0,a.length-1);

//打印排序后的数组
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"\t");
}
}
public static void quick_sort(int[] array,int begin,int end){

if (begin >= end) {	//如果数组的长度为1,则停止比较
return;
}

int i = begin;	//数组第一个元素
int j = end;	//数组最后一个元素
int key = array[i];	//每次要比较的标准数
boolean flag = true;	//用于控制判断过程是否继续进行

while(i != j){
if(flag == true){
if (key > array[j]) {
change(array, i, j);	//交换元素
flag = false;
}else {
j--;
}
}else {
if (array[i] > key) {
change(array, i, j);	//交换元素
flag = true;
}else {
i++;
}
}
}
//被分隔的两部分,用同样的方法继续比较
quick_sort(array, j+1, end);
quick_sort(array, 0, j-1);

}

public static void change(int[] array,int m,int n){
int temp = 0; //临时变量,用于交换数组元素

temp = array[m];
array[m] = array
;
array
= temp;
}

}
结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 快速排序