快速排序_Java
2017-05-15 10:02
204 查看
public class Sort005 {
public static int getMiddle(int[] numbers, int low,int high)
{
int temp = numbers[low]; //数组的第一个作为中轴
while(low < high){
while(low < high && numbers[high] > temp)
high--;
numbers[low] = numbers[high];//比中轴小的记录移到低端
while(low < high && numbers[low] < temp)
low++;
numbers[high] = numbers[low] ; //比中轴大的记录移到高端
}
numbers[low] = temp ; //中轴记录到尾
return low ; // 返回中轴的位置
}
public static void quickSort(int[] numbers,int low,int high)
{
if(low < high)
{
int middle = getMiddle(numbers,low,high); //以numbers[middle]的值将numbers数组进行一分为二
quickSort(numbers, low, middle-1); //对低字段表进行递归排序
quickSort(numbers, middle+1, high); //对高字段表进行递归排序
}
}
public static void main(String [] args){
int [] a={5,4,9,8,7,6,0,1,3,2};
quickSort(a,0,a.length-1);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
public static int getMiddle(int[] numbers, int low,int high)
{
int temp = numbers[low]; //数组的第一个作为中轴
while(low < high){
while(low < high && numbers[high] > temp)
high--;
numbers[low] = numbers[high];//比中轴小的记录移到低端
while(low < high && numbers[low] < temp)
low++;
numbers[high] = numbers[low] ; //比中轴大的记录移到高端
}
numbers[low] = temp ; //中轴记录到尾
return low ; // 返回中轴的位置
}
public static void quickSort(int[] numbers,int low,int high)
{
if(low < high)
{
int middle = getMiddle(numbers,low,high); //以numbers[middle]的值将numbers数组进行一分为二
quickSort(numbers, low, middle-1); //对低字段表进行递归排序
quickSort(numbers, middle+1, high); //对高字段表进行递归排序
}
}
public static void main(String [] args){
int [] a={5,4,9,8,7,6,0,1,3,2};
quickSort(a,0,a.length-1);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
}
}
相关文章推荐
- java实现的冒泡、选择、快速排序
- 排序算法复习(Java实现)(二): 插入,冒泡,选择,Shell,快速排序
- 插入,冒泡,选择,快速排序,二分查找(Java版)
- 快速排序--Java实现
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 快速排序方法Java实现与分析
- 快速排序Java源码(递归和非递归)
- 算法-快速排序-java实现
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- java基础知识之 算法 【冒泡排序】【快速排序】
- 插入,冒泡,选择,快速排序,二分查找(Java版)
- 快速排序Java实现
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- 快速排序java实现
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排
- JAVA排序算法实现代码-快速(Quick Sort)排序
- 快速排序的JAVA实现
- java快速排序
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
- 快速排序java实现