博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速、冒泡排序算法(PHP版)
阅读量:4587 次
发布时间:2019-06-09

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

1.冒泡排序算法改进:

方法一:

1 function bubbleSort($arr){
//$arr(1...n)是待排序的文件,采用自下向上扫描,对$arr做冒泡排序 2 $bFlag = true; //交换标志 3 for($i=0; $i
= $i; $j--){ //对当前无序区$arr[i..n]自下向上扫描 6 if( $arr[$j+1] < $arr[$j] ){
//交换记录 7 $temp = $arr[$j+1]; //$temp不是哨兵,仅做暂存单元 8 $arr[$j+1] = $arr[$j]; 9 $arr[$j] = $temp;10 $bFlag = true; //发生了交换,故将交换标志置为真11 }12 }13 if(!$bFlag){ //本趟排序未发生交换,提前终止算法14 break;15 }16 } //endfor(外循环)17 print_r($arr);18 } //BubbleSort

方法二:

1 function bubbleSort($arr){ 2     $bSort = false; 3     for ($i=0; $i
$arr[$j+1]) { 7 $bSort = false; 8 // 不使用第三个变量 9 $arr[$j] = $arr[$j] + $arr[$j+1]; 10 $arr[$j+1] = $arr[$j] - $arr[$j+1]; 11 $arr[$j] = $arr[$j] - $arr[$j+1]; 12 } 13 } 14 }15 }

 2.快速排序算法:

1 function quick_sort($array) { 2     if (count( $array ) <= 1) return $array; 3     $key = $array [0]; 4     $left_arr = array (); 5     $right_arr = array (); 6      7     for($i = 1; $i < count( $array ); $i ++) { 8         if ($array [$i] <= $key) 9             $left_arr [] = $array [$i];10         else11             $right_arr [] = $array [$i];12     }13     $left_arr = quick_sort ( $left_arr );14     $right_arr = quick_sort ( $right_arr );15     return array_merge ( $left_arr, array ($key ), $right_arr );16 }

 

转载于:https://www.cnblogs.com/h07061108/p/Bubble_Sort.html

你可能感兴趣的文章
Moss/sharepoint 匿名访问之看例做题
查看>>
[C# 基础知识系列]专题十六:Linq介绍
查看>>
Ubuntu10下MySQL搭建Amoeba_基础
查看>>
react typescript 父组件调用子组件
查看>>
[Android]Service总结1
查看>>
Super关键字
查看>>
ATG Form Handler 最佳实践
查看>>
linux | 管道符、输出重定向
查看>>
自定义MVC HtmlHelpe之分页
查看>>
WEB程序开发基础-作业3-WEB(JSP)下的JDBC操作
查看>>
為什麼擠出頭的喉管需要散熱?
查看>>
1036. 跟奥巴马一起编程(15)
查看>>
ssdb常用知识点
查看>>
新闻cms管理系统 (补)-----路由优化一
查看>>
nginx配置文件详解
查看>>
网络攻防第一次实验
查看>>
js-ajax-02
查看>>
统计机器学习
查看>>
HDU OJ 2159 FATE
查看>>
华为杯网络信息技能大赛决赛赛前培训——记录
查看>>