博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回忆数组快速排序算法
阅读量:4614 次
发布时间:2019-06-09

本文共 1078 字,大约阅读时间需要 3 分钟。

先回忆一下快速排序算法的本质:快速排序是冒泡排序的改进,第一次排序是将一个枢轴元素(通常指定为第一个元素)插入到数组中合适的位置,使得枢轴左边的元素都小于枢轴,右边的元素都大于枢轴,这样原来的数组就切分成两个相对有序的数组,再对其进行快速排序。

具体做法:附设两个指针low,high,枢轴元素为第一个元素

首先从high开始,找到第一个小于枢轴的元素,将该元素与枢轴互换,然后从low的位置起向后搜索,找到第一个大于枢轴的元素,将该元素与枢轴互换,重复进行直到low==high。

static int array[] ={48,20,27,85,79,98,45};     public static void main(String[] args){        System.out.println("排序以前的数组:");        printArray();        System.out.println("排序后的数组:");        quickSort(0,array.length-1);                printArray();    }    private static void quickSort(int low ,int high) {        if(low
=temp){ high--; } array[low] =array[high]; while(low
<=temp){ low++; } array[high]=array[low]; } array[low]=temp; return low; } private static void printArray() { for(int i:array){ System.out.print(i+" "); } System.out.println(); }

 

 

转载于:https://www.cnblogs.com/yuwenfeng/archive/2013/05/22/3092883.html

你可能感兴趣的文章
Metro Style app :浏览器扩展
查看>>
linux的kernel是怎样工作的(TI_DM36X_ARM系统)(1)
查看>>
[luogu4310] 绝世好题 (递推)
查看>>
[luogu3203 HNOI2010] 弹飞绵羊 (分块)
查看>>
mui搜索框 搜索点击事件
查看>>
2016012003+陈琦+散列函数的应用及其安全性
查看>>
Android 状态栏通知Notification、NotificationManager详解
查看>>
UIApplicationDelegate协议
查看>>
Jmeter测试dubbo接口填坑
查看>>
[zz]GDB调试精粹及使用实例
查看>>
数据库的创建和删除
查看>>
最简单的三层实例【插入据
查看>>
设计模式学习笔记——Prototype原型模式
查看>>
pom.xml里有红叉报错的解决办法
查看>>
Perl last和next的用法区别
查看>>
Selenium 管理 Cookies
查看>>
exceptionfunction[LeetCode]Permutations
查看>>
bzoj 4595 激光发生器
查看>>
multi cookie & read bug
查看>>
js时间转换
查看>>