冒泡排序算法和快速排序算法
2016-05-04 10:41
309 查看
1,冒泡排序 从大到小排序
function maopao($array){
for($i=0;$i<count($array);$i++){
for($j=$i+1;$j<count($array);$j++){
if($array[$i]<$array[$j]){
$tmp = $array[$j]; //大的值存放在临时值中
$array[$i] = $array[$j]; //小的放左边
$array[$j] =$tmp;
}
}
}
return $array; //返回排序好的数组
}
2,快速排序算法
function kuaisu($array){
//声明两个左右数组
$left = array();
$right = array();
//先检测下排序的数组
if(count($array)<=1){
return $array;
}
//快速排序先取出数组的第一个数值
$key = $array[0];
//然后再循环对比
for($i=0;$i<count($array);$i++){ //因为第0个数组中的值被声明了,所有从第一个数组的值开始
if($key<$array[$i]){
$left [] = $array[$i]; //大的值放在左边
}else{
$right[] = $array[$i];
}
}
//然后再进行递归
$left = kuaisu($left);
$right = kuaisu($right);
//最后合并数组返回
return array_merge($left,array($key),$right);
}
function maopao($array){
for($i=0;$i<count($array);$i++){
for($j=$i+1;$j<count($array);$j++){
if($array[$i]<$array[$j]){
$tmp = $array[$j]; //大的值存放在临时值中
$array[$i] = $array[$j]; //小的放左边
$array[$j] =$tmp;
}
}
}
return $array; //返回排序好的数组
}
2,快速排序算法
function kuaisu($array){
//声明两个左右数组
$left = array();
$right = array();
//先检测下排序的数组
if(count($array)<=1){
return $array;
}
//快速排序先取出数组的第一个数值
$key = $array[0];
//然后再循环对比
for($i=0;$i<count($array);$i++){ //因为第0个数组中的值被声明了,所有从第一个数组的值开始
if($key<$array[$i]){
$left [] = $array[$i]; //大的值放在左边
}else{
$right[] = $array[$i];
}
}
//然后再进行递归
$left = kuaisu($left);
$right = kuaisu($right);
//最后合并数组返回
return array_merge($left,array($key),$right);
}
相关文章推荐
- linux 安装 apache2.2.31
- IO流操作详解
- linux 删除共享内存段
- Eclipse中最方便快捷显示JDK源码方法
- td 设置colspan之后设置td width 无效
- 网页进度条
- 500、Linux获取随机密码
- ABAP 提取或去除字符串中的中文字符(双字节字符)
- ubuntu下安装SCons
- Mac terminal无法清除历史纪录
- java中this和super的用法
- 莆田系医院名单
- Unicode char*转化为LPCTSTR
- pyftpdlib代码初印象
- C# ListView 编写 ListView 实体类
- SQL-----group by 查询多个字段
- 移动端web前端的那些坑
- Leetcode no. 90
- 把tomcat加入到windows服务
- Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi(跨平台)