PHP冒泡排序和常用数组函数

  • 黄楚恒
  • 2017-08-30 14:21:15
  • PHP
  • php
<?php 
header('content-type:text/html;charset=utf-8');
$array = array('2','1','3','6','4','5');
$arr = array('b','a','c','f','d','e');

/*冒泡排序(一维数组) 基本思想:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。 排序过程:设想被排序的数组R[1..N]垂直竖立,将每个数据元素看作有重量的气泡,根据轻气泡不能在重气泡之下的原则, 从下往上扫描数组R,凡扫描到违反本原则的轻气泡,就使其向上”漂浮”,如此反复进行,直至最后任何两个气泡都是轻者在上,重者在下为止。*/
function maopao($array) {
	$num = count($array);
	if($num < 1){
		return $array;
	}

	for($i=0;$i<$num;$i++){
		for($j=$num-1;$j>$i;$j--){
			if($array[$j] < $array[$j-1]){
				$tmp = $array[$j];
				$array[$j] = $array[$j-1];
				$array[$j-1] = $tmp;
			}
		}
	}
	return $array;
}
// sort() //函数用于对数组单元从低到高进行排序。
// rsort() //函数用于对数组单元从高到低进行排序。
// asort() //函数用于对数组单元从低到高进行排序并保持索引关系。
// arsort() //函数用于对数组单元从高到低进行排序并保持索引关系。
// ksort() //函数用于对数组单元按照键名从低到高进行排序。
// krsort() //函数用于对数组单元按照键名从高到低进行排序。

print_r(maopao($array));

echo "<hr>";
print_r(maopao($arr));

echo "<hr>sort() 函数用于对数组单元从低到高进行排序。";
sort($array);
print_r($array);

echo "<hr>rsort() 函数用于对数组单元从高到低进行排序。";
rsort($array);
print_r($array);

echo "<hr>asort() 函数用于对数组单元从低到高进行排序并保持索引关系。";
asort($array);
print_r($array);

echo "<hr>arsort() 函数用于对数组单元从高到低进行排序并保持索引关系。";
arsort($array);
print_r($array);

echo "<hr>ksort() 函数用于对数组单元按照键名从低到高进行排序。";
ksort($array);
print_r($array);

echo "<hr>krsort() 函数用于对数组单元按照键名从高到低进行排序。";
krsort($array);
print_r($array);

Copyright © 2016-2019 709173702@qq.com 版权所有  ICP证粤ICP备16117826号-1
联系邮箱:709173702@qq.com