课时127 使用PHP程序进一步理解快速排序法
<?php
//快速排序
$arr = array(32,31,56,4,234,46,466,86,5);
function kuaisu($arr){
if(!is_array($arr) || empty($arr)){
return array();
}
//获取数组的长度
$len = count($arr);
//如果数组中只有一个元素,直接返回数组
if($len <= 1){
return $arr;
}
$key[0] = $arr[0];
$left = array();
$right = array();
for($i=1; $i<$len; $i++){
if($arr[$i]<=$key[0]){
$left[]= $arr[$i];
}
else {
$right[] = $arr[$i];
}
}
/* print_r($left);
echo "<br>";
echo $key[0];
echo "<br>";
print_r($right);
echo "----------------<hr>";
*/
$left = kuaisu($left);
//echo "<hr>";
$right = kuaisu($right);
/*
print_r($left);
echo "<br>";
echo $key[0];
echo "<br>";
print_r($right);
echo "<hr>";
*/
return array_merge($left,$key,$right);
}
print_r($arr);
echo "<br>";
echo "<hr>";
print_r(kuaisu($arr));
?>
课时128 PHP数组的排序函数1
sort--对数组进行排序(升序)
rsort--对数组逆向排序
ksort--按照键名排序
krsort--按照键名逆向排序
asort--对数组进行排序,并保持索引关系
arsort--对数组进行逆向排序,并保持索引关系
natsort--用自然排序算法对数组排序
usort--使用用户自定义的比较函数对数组的值进行排序
课时129 PHP数组的排序函数2
课时130 PHP数组的排序函数3
课时131 PHP多维数组的排序函数
array_multisort
对多维数组排序或多个数组进行排序
课时132 PHP拆分、合并、分解与结合数组函数1
1.array_slice
从数组中取出一段
$arr = array("a","b","c","d","e");
$narr = array_slice($arr,2,2);
print_r($narr);
结果:Array ( [0] => c [1] => d )
第二个参数可支持负数,
?2.array_splice
把数组的一部分去掉并用其他值代替
$arr = array("a","b","c","d","e");
//$narr = array_slice($arr,2,2);
array_splice($arr,2,2,"lee");
print_r($arr);
结果:?Array ( [0] => a [1] => b [2] => lee [3] => e )?
3.array_combine()
一个数组作为下标,一个数组作为值.两个数组个数必须一致.
$a = array("aa");
$b = array("bb");
$arr = array_combine($a,$b);
print_r($arr);
结果:?Array ( [aa] => bb ) ?
课时133 PHP拆分、合并、分解与结合数组函数2
1.array_merge()
合并数组
2.array_intersect()
计算数组的交集
3.array_diff()
计算数组的差集
课时134 PHP数组与数据结构的函数
1. $arr = array();
array_push($arr,"1");
array_push($arr,"2");
echo array_pop($arr);
print_r($arr);
结果: 2 Array ( [0] => 1 )
array_push 入栈
array_pop 出栈
后进先出
2.array_unshift() 入列
array_shift() 出列
先进先出
$arr = array();?
array_unshift($arr,1);
array_unshift($arr,2);
array_unshift($arr,3);
print_r($arr);
结果:?Array ( [0] => 3 [1] => 2 [2] => 1 ) ?
课时135 PHP其他有用的数组处理函数
1.array_rand()
从数组中随机出去一个或多个单元
随机的是下标.
2.shuffle()
返回的类型是布尔型
打乱一个数组
3.array_num()
计算数组所有值的和
4.range()
建立一个包含指定范围单元的数组
$arr = range(0,10,2);
前两个参数是范围, 第三个参数是步长
5.array_fill()
用给定的数值填充数组
$arr = array_fill(0,10,"php");