php排序&冒泡法排序
来源:互联网 发布:java volatile static 编辑:程序博客网 时间:2024/04/28 21:09
1、数组的排序常用方法:
冒泡法、选择排序、插入排序、快速排序、
2、排序分类:
内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。
内部排序又分为交换式(冒泡法、快速排序)、选择式、插入式排序法
冒泡法、选择排序、插入排序、快速排序都属于内部排序
外部排序:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。
3、排序方法效率:
冒泡发<选择排序<插入排序
快速排序法速度很快,但效率并不高,占用空间太多
4、冒泡排序法实例:
冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1 个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复以上过程,仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再大于第2个数),将小数放前,大数放后,一直比较到最小数前的一对相邻数,将小数放前,大数放后,第二趟结束,在倒数第二个数中得到一个新的最小数。如此下去,直至最终完成排序。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。
<?php//echo "<br>";echo"<br>";echo "<br>";echo "<br>"; $arr =array(1,5,3,9,4,8,12,3,0,7,7.6,3.4,6);//定义一个中间变量$temp = 0;//升序排序for($i=0;$i<count($arr)-1;$i++){ for($j=0;$j<count($arr)-1-$i;$j++) { //说明前面的数比后面的大就要交换 if($arr[$j]>$arr[$j+1]) { $temp= $arr[$j]; $arr[$j]= $arr[$j+1]; $arr[$j+1]= $temp; } }} //输出排序后数组foreach($arr as $key=>$key_value){ echo'$arr['.$key."]=".$key_value."<br>";}?>4、冒泡法函数封装实例:
<?php//用函数封装冒泡排序法function bubbleSort(&$arr) //注意此处要加地址传递符号;因为数组默认传递的是值,不是地址;若不地址传递,排序的是$arr而不是$asd。{ //echo"<br>";echo "<br>";echo "<br>";echo"<br>"; //$arr= array(1,5,3,9,4,8,12,3,0,7,7.6,3.4,6); //定义一个中间变量 $temp= 0; //升序排序 for($i=0;$i<count($arr)-1;$i++) { for($j=0;$j<count($arr)-1-$i;$j++) { //说明前面的数比后面的大就要交换 if($arr[$j]>$arr[$j+1]) { $temp= $arr[$j]; $arr[$j]= $arr[$j+1]; $arr[$j+1]= $temp; } } } }$asd = array(1,0,2,9,3,8,4,7,5,6);//调用冒泡排序法的函数bubbleSort($asd);//输出排序后数组foreach($asd as $key=>$key_value){ echo'$asd['.$key."]=".$key_value."<br>";}?>
0 0
- php排序&冒泡法排序
- 【PHP】冒泡排序法排序
- PHP冒泡法排序
- php冒泡排序法
- PHP:冒泡排序法
- PHP冒泡排序法
- PHP冒泡法排序
- php冒泡排序法
- php排序法--冒泡排序,选择排序,插入排序
- php 的冒泡排序法
- PHP之冒泡法排序
- PHP 实现冒泡法排序
- php 冒泡排序 快速排序
- php 冒泡排序 快速排序
- php 冒泡排序&快速排序
- PHP冒泡排序法 | 黄乔国PHP
- PHP 冒泡排序
- php 冒泡排序
- x264编码器的参数设置。
- 冒泡排序 ( C# 向)
- 用Dalvik指令集写个java类
- 【代码片段】Linux 进程间通信---消息队列
- Memory Analysis for Android Applications
- php排序&冒泡法排序
- ios项目icon和default图片命名规则以及注意事项
- 3196: Tyvj 1730 二逼平衡树
- 在iOS中创建静态库
- 赛码"BestCoder"杯中国大学生程序设计冠军赛
- P2P的原理和常见的实现方式(为libjingle开路)
- 解决android中Asynctask遇到的问题
- 全排列的编码与解码
- 编程之美第三章-字符串移位包含的问题