快速排序的java实现
来源:互联网 发布:dlg分幅数据整合 编辑:程序博客网 时间:2024/05/23 02:05
```public class Qsort {/*median-Kth number-Qsort *挖坑填补——用首尾下标移动实现分区(挨个比较及) *分而治之——即细分到两个数的交换 *5,3,7,1 *1,3,7,5 *1,3,5,7 * */static void swap(int a[],int l,int r){int temp;temp=a[l];a[l]=a[r];a[r]=temp;}static int arraySort(int a[],int l,int r){int i,j,pivot;i=l;j=r;pivot=a[l];while(i<j){ //加=号可能是一样的数字;用while及i<j,是为了while(a[j]>=pivot&&i<j)j--;swap(a,i,j);//前后交换过程中,a[i]可能等于pivot,因为pivot是随着分区来移动位置的while(a[i]<=pivot&&i<j)i++;swap(a,i,j);}return i;} static void qSort(int a[],int l,int r){int i;if(l<r){i=arraySort(a, l, r);qSort(a, l, i-1);qSort(a, i+1, r);}}public static void main(String[] args) {int a[]={5,3,7,1,5,8,7};qSort(a, 0,a.length-1);for (int i : a) {System.out.print(i+" ");}}```
0 0
- 快速排序的JAVA实现
- 快速排序的Java实现
- 快速排序的java实现
- 快速排序的java实现
- 快速排序的java实现
- 快速排序Java的实现
- java实现的快速排序
- 快速排序的JAVA实现
- 快速排序的java实现
- java实现的快速排序
- 快速排序的java实现
- Java 实现的快速排序
- 快速排序的java实现
- 快速排序的java实现
- java 快速排序的实现
- 快速排序的Java实现
- 快速排序的Java实现
- 快速排序的Java实现
- openwrt 修改IP地址
- 203. Remove Linked List Elements [easy] (Python)
- SceneKit初识
- leetcode 171 Excel Sheet Column Number
- 易生活(七)-APP--搜索业务逻辑处理
- 快速排序的java实现
- WPF中应用toolkit Chart控件安装
- PHP class 实践
- quick-cocos2d使用shader上色置灰问题
- 长见识了——text-align和margin:0 auto的作用对象及它们的不同
- 331. Verify Preorder Serialization of a Binary Tree
- openwrt 添加web界面
- Java内部类详解
- 树莓派移动网络连接(配置4G网卡)