数据结构之冒泡及PHP实现
2018-02-08 16:28
190 查看
原理:冒泡排序通过不断比较相邻元素的大小,然后决定是否对这两个元素进行交换操作,达到排序的目的。
通过相邻元素的比较,第一次排序,将最大的元素排至最上(最右侧);再循环对剩下的元素进行比较,找出第二大元素。………………
PHP代码实现:
class BubbleSort {
public static function Sort(&$arr) {
if(count($arr)<=1) {
return;
}
for($k=count($arr)-1;$k>=0;$k--) {
self::bubble($arr,$k);
}
}
private static function bubble(&$arr,$i) {
if(count($arr)<=1) {
return;
}
for($j=0;$j<$i;$j++) {
if($arr[$j]>$arr[$j+1]) {
self::swap($arr,$j,$j+1);
}
}
}
private static function swap(&$arr,$a,$b) {
$tmp = $arr[$a];
$arr[$a]=$arr[$b];
$arr[$b]=$tmp;
}
}
通过相邻元素的比较,第一次排序,将最大的元素排至最上(最右侧);再循环对剩下的元素进行比较,找出第二大元素。………………
PHP代码实现:
class BubbleSort {
public static function Sort(&$arr) {
if(count($arr)<=1) {
return;
}
for($k=count($arr)-1;$k>=0;$k--) {
self::bubble($arr,$k);
}
}
private static function bubble(&$arr,$i) {
if(count($arr)<=1) {
return;
}
for($j=0;$j<$i;$j++) {
if($arr[$j]>$arr[$j+1]) {
self::swap($arr,$j,$j+1);
}
}
}
private static function swap(&$arr,$a,$b) {
$tmp = $arr[$a];
$arr[$a]=$arr[$b];
$arr[$b]=$tmp;
}
}
相关文章推荐
- 【算法与数据结构必备】PHP常用排序算法:冒泡,快速排序,插入排序(一维数组)
- 在网上看到使用PHP实现常见的数据结构和算法
- PHP 实现插入、选择、冒泡、快速排序算法
- java数据结构排序之冒泡实现
- PHP数据结构之四 一元多项式的相加PHP单链实现
- 在网上看到使用PHP实现常见的数据结构和算法
- PHP实现冒泡循环
- php 实现冒泡、选择、插入和快速排序详解
- 数据结构:线性表删除操作的php和js实现
- php实现数据结构线性表(链式)
- php 实现的基本数据结构
- php 实现的基本数据结构
- 数据结构和算法——排序算法(冒泡法 选择法 插入法 快速法)实现
- 11. 数据结构进阶十一排序实现之冒泡法
- PHP实现栈(Stack)数据结构
- 【数据结构】PHP实现查找表
- 数据结构二叉树的递归与非递归遍历之java,javascript,php实现可编译(1)java
- 【数据结构--经典算法】PHP实现各种经典算法
- 【数据结构】PHP实现查找表
- PHP中使用数组实现堆栈数据结构的代码