Java快速排序
来源:互联网 发布:养生网源码 编辑:程序博客网 时间:2024/06/09 20:36
Java快速排序,QuickSort
默认选择最左边的元素为轴值,
1.先重右向左,找出比轴值小的数,交换位置
2.再从左往右找出比轴值大的数,交换位置
3.重复1,2步骤,直到轴值处于中间位置,且左边的数都小于轴值,右边的书都大于轴值
4.对两边的数进行迭代重复以上步骤,递归。
代码:
public class Quick_Sort {
public static void main(String[] args) {
int[] arr = {2,5,5,7,1,3,9,8,6};
Sort(arr,0,arr.length-1);
//输出排序后的数组
for(int k=0; k<arr.length; k++){
System.out.println(arr[k]);
}
}
public static void Sort(int[] a,int left, int right){
int i,j,index;
i = left;
j = right;
index = a[left];//默认选择最左边的元素
while(i<j){
while(i<j&& a[j]>=index){
j--;
}
if(i<j){
int temp = a[j];
a[j] = a[i];
a[i] = temp;
i++;
}
while(i<j && a[i]<=index){
i++;
}
if(i<j){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
j--;
}
}
if(i>left){
Sort(a,left,i-1);
}
if(j<right){
Sort(a,i+1,right);
}
}
}
阅读全文
0 0
- 排序-快速排序-Java
- java排序之快速排序
- Java排序算法 快速排序
- 快速排序(java排序)
- java 快速排序,冒泡排序
- 算法:排序----Java快速排序
- 【交换排序】快速排序--Java
- java 插入排序+快速排序
- Java 排序之 快速排序
- java排序之快速排序
- Java排序算法:快速排序
- Java排序-快速排序
- Java排序算法:快速排序
- Java排序算法--》快速排序
- JAVA排序算法---快速排序
- Java 快速排序 归并排序
- Java排序算法--快速排序
- java 冒泡排序、快速排序
- Codeforces Beta Round #3 B. Lorry
- python3实现TCP协议的简单服务器和客户端
- FLV合并开源代码flvmerge分析
- BaseCode之XML工具类:XMLUtil.java
- MATLAB怎么去掉旋转后的黑边方法
- Java快速排序
- Java虚拟机:Java虚拟机结构
- JAVA基础知识以及一个引用方法来求矩形周长的代码
- Android Studio运行时模拟器列表为空
- 使用java将mp3文件写入mysql数据库中
- POJ 2099 Fool's Day 笔记
- app或者android library调用android library之activity
- 汇编语言期末复习题
- android 控制对话框的宽度,背景透明的问题