排序算法-----------快排的简单介绍
嗯哼?啥呀,就排序
略略,绝无套路,废话不多说,直接上代码!嘻嘻嘻
import java.util.Arrays;
public class
Quicksort{
public static void main(String[] args) {
int arr[]= new int [] {2,5,7,9,6,3,4,8,1};
quicksort(arr, 0, arr.length-1);
System.out.println(Arrays.toString(arr));
}
public static void quicksort(int arr[],int start,int end) {
if(start<end) {
//首先找到基准数,数组中的第0个数字作为标准数
int stard=arr[start];
//记录下标
int lowerstart=start,highstart = end;
//循环找比标准数大和小的数字
while(lowerstart<highstart) {
//高位比标准数大,下标移动
while(lowerstart<highstart&&stard<=arr[highstart]) {
highstart--;
}
//使用高位下标的数字替换地位下标的数字
arr[lowerstart]=arr[highstart];
//低下标的数比标准数小,下标前移,
while(lowerstart<highstart&&arr[lowerstart]<=stard) {
lowerstart++;
}
arr[highstart]=arr[lowerstart];
}
//标准数付给地下表所在的数
}
}
}
/*
*
* ┌─┐ ┌─┐
* ┌──┘ ┴───────┘ ┴──┐
* │ │
* │ ─── │
* │ ─┬┘ └┬─ │
* │ │
* │ ─┴─ │
* │ │
* └───┐ ┌───┘
* │ │
* │ │
* │ │
* │ └──────────────┐
* │ │
* │ ├─┐
* │ ┌─┘
* │ │
* └─┐ ┐ ┌───────┬──┐ ┌──┘
* │ ─┤ ─┤ │ ─┤ ─┤
* └──┴──┘ └──┴──┘
* 神兽保佑 代码无BUG!
*/
演示视频外链:https://www.lanzous.com/i5qr18h
有不对的地方,请各位大佬指点一二。嘻嘻嘻~