每日算法1:快速排序
来源:互联网 发布:哲学家就餐问题c语言 编辑:程序博客网 时间:2024/06/10 09:02
目标:排序
算法思路分析:
思想:The Divide and Conquer 把问题分成若干个子问题,递归解决
具体:取中间数,把数组分为 [小于中间数的数组],[中间数],[大于中间数的数组],递归上步骤,直到数组不能再分割(数组长度为1)。
C语言实现:
as3实现:
//生成一个100长度以内的随机数组var randomArr:Array=[]
var len:int=Math.ceil(100*Math.random())
for(var i:int=0;i<len;i++)
{
randomArr.push(Math.ceil(100*Math.random()))
}
trace(randomArr.length)
//快速排序函数
function quickSort(arr:Array):void
{
if(arr.length<=1) {
if(arr.length==1)
trace(arr[0])
return
}
var leftArr:Array=[]
var rightArr:Array=[]
for(var i:int=1;i<arr.length;i++) {
if(arr[i]<arr[0])
leftArr.push(arr[i])
else rightArr.push(arr[i])
}
quickSort(leftArr)
trace(arr[0])
quickSort(rightArr)
}
//快速排序
quickSort(randomArr)
0 0
- 每日算法1:快速排序
- 【每日算法】快速排序
- 每日一算法--快速排序
- 每日一算法之快速排序
- 【每日算法】快速排序及其应用
- 每日一个小算法。快速排序
- 每日一算法之快速排序原理及实现
- 每日一算法之快速排序原理及实现
- 【每日算法】快速幂
- 快速排序算法1
- 【每日算法】归并排序
- 【每日算法】堆排序
- <每日一题>快速排序
- 算法入门--快速排序1
- 算法学习-1 快速排序
- <每日一算法>冒泡排序
- 每日一省之————快速排序算法
- java排序算法1 快速排序
- PCL+QT+VS显示点云
- 大数据究竟是什么?一篇文章让你认识并读懂大数据
- 工作中常用的linux命令
- Linux usb子系统(一) _写一个usb鼠标驱动
- GridView 数据重复加载
- 每日算法1:快速排序
- Gym
- ntp 配置
- windows redis设置密码
- MapReduce:详解Shuffle过程
- Roundcube 无法删除邮件错误解决方法>服务器错误UID COPY: The folder could not be found.
- oracle 对字段结果进行判断
- vue生命周期
- Java中创建对象的5种方式