1、冒泡程序:
<?php
//冒泡排序(一维数组)
function bubble_sort($arr){
//计算出数组元素的个数
$count = count($arr);
// 如果元素个数小于或者等于0则返回假
if ($count <= 0){
return false;
}
for($i=0; $i<$count; $i++){
for($j=$count-1; $j>$i; $j--){
if ($arr[$j] < $arr[$j-1]){
$tmp = $arr[$j];
$arr[$j] = $arr[$j-1];
$arr[$j-1] = $tmp;
}
}
}
return $arr;
}
//使用实例
$_array = array('5', '8' ,'5' ,'6' ,'9' ,'3' ,'2' ,'4');
$_array = bubble_sort($_array);
print_r ($_array);
?>
<?php
echo "<br/>";
function BubbleSort($str)
//定义一个名为BubbleSort的函数,它有一个参数叫$str,这个参数必须是一个数组,这个数组里包含需要排序的一系列字符。
{
for ($i=0;$i<count($str);$i++) //count($str)的功能为统计数组中的元素数量,并返回这个数量值
//第一层循环,外层循环,由于冒泡排序的原理为,每次都找最小(或每次都找最大,本例是演示每次都找最小的情况)的那个字符,找出一个最小(“大”)的字符算一次循环
{
for ($j=count($str)-2;$j>=$i;$j--)
//内层循环,本次循环控制找最小(“大”)数的操作,由于每次要找出最大的数,必须拿一个数和每一个数对比,所以也是一个内层的循环操作
{
if($str[$j+1]<$str[$j])
//比较,是$j+1位置的字符大,还是$j位置的字符比较大,如果$j位置的字符比较大,那么交换$str[$j+1]和$str[$j]以保证排列在前面的字符更小
{
$tmp = $str[$j+1]; //交换两个位置的东西,需要三个空位才能完成,就像交换一杯可乐和一杯牛奶需要另一个空杯子一样,$tmp可以说就是空杯子
$str[$j+1]=$str[$j];//类似,有一杯牛奶,一杯可乐,我们想用牛奶杯装可乐,可乐杯装牛奶的话,就得进行这样的操作……
$str[$j]=$tmp;//整个交换的过程可以描述为:先将牛奶倒入空杯,再将可乐倒入牛奶杯,然后再将原来空杯里的牛奶倒入可乐杯
}
}//内层循环每执行一次,就会多找出一个“最小”的字符(除了前面循环中已经找过了的)
}//数组里有N个字符的话,循环就重复N-1次,这样才能完成排序
return $str; //将排序后的结果返回,返回后跳出函数体,$str变量在内存中消失,而BubbleSort($str)的值就是$str所返回的值
}//函数体定义完成标志我们称之为 end of function BubbleSort($str)
$str = array(3,6,1,5,9,0,4,6,11);//组出一个存放随机序列的若干数字的数组
print_r(BubbleSort($str)); //调用函数体
?>
2、给你三个数,写程序求出其最大值。
<?php
function getMax($a,$b,$c){
$max = $a;
if ($b > $max){
$max = $b;
}
if ($c > $max){
$max = $c;
}
return $max;
}
echo getMax(3,2,15);
?>
switch的使用案例:
<?php
$a ='5';
switch ($a){
case 1:
echo date("Y-m-d");
break;
case 2:
echo "2";
break;
case 3:
echo "3";
break;
default:
echo "没有此数";
}
?>