- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
php基础算法小程序练习
1、首先来画个菱形玩玩,很多人学C时在书上都画过,咱们用PHP画下,画了一半。
思路:多少行for一次,然后在里面空格和星号for一次。
?php
for($i=0;$i=3;$i++){
??? for($j=0;$j=3-$i;$j++){
??????? echo nbsp;;??
??? }
??? for($k=0;$k=2*$i;$k++){
??????? echo *;???
??? }
??? echo br/;???????
}
2、冒泡排序,C里基础算法,从小到大对一组数排序。
思路:这题从小到大,第一轮排最小,第二轮排第二小,第三轮排第三小,依次类推……
?php
$arr = array(3, 2, 1);
$n = count($arr);
//每循环一次,就跑一趟后面的排序
for($j=0; $j$n-1; $j++) {
//对后面没排好的,循环查找出最大(最小)的,进行一趟排序
??? for($i=$j; $i$n-1; $i++) {
??????? if($arr[$j] $arr[$i+1]) {
??????????? $t = $arr[$j];
??????????? $arr[$j] = $arr[$i+1];
??????????? $arr[$i+1] = $t;
??????? }
??? }
}
print_r($arr);
3、杨辉三角,用PHP写。
思路:每一行的第一位和最后一位是1,没有变化,中间是前排一位与左边一排的和,这种算法是用一个二维数组保存,另外有种算法用一维数组也可以实现,一行一行的输出,有兴趣去写着玩下。
1
1?? 1
1?? 2?? 1
1?? 3?? 3?? 1
1?? 4?? 6?? 4?? 1
1?? 5 10 10?? 5?? 1
?php
//每行的第一个和最后一个都为1,写了6行
for($i=0; $i6; $i++) {
??? $a[$i][0]=1;
??? $a[$i][$i]=1;
}
//出除了第一位和最后一位的值,保存在数组中
for($i=2; $i6; $i++) {
??? for($j=1; $j$i; $j++) {
????? $a[$i][$j] = $a[$i-1][$j-1]+$a[$i-1][$j];
??? }
}
//打印
for($i=0; $i6; $i++){
??? for($j=0; $j=$i; $j++) {
??? echo $a[$i][$j].nbsp;;
??? }
??? echo br/;
}
4、在一组数中,要求插入一个数,按其原来顺序插入,维护原来排序方式。
思路:找到比要插入数大的那个位置,替换,然后把后面的数后移一位。
?php
$in = 2;
$arr = array(1,1,1,3,5,7);
$n = count($arr);
//如果要插入的数已经最大,直接打印
if($arr[$n-1] $in) {
??? $arr[$n+1] = $in; print_r($arr);
??? }
for($i=0; $i$n; $i++) {
//找出要插入的位置
??? if($arr[$i] = $in){
??????? $t1= $arr[$i];
??????? $arr[$i] = $in;
//把后面的数据后移一位
??????? for($j=$i+1; $j$n+1; $j++) {
??????????? $t2 = $arr[$j];
??????????? $arr[$j] = $t1;
??????????? $t1 = $t2;
??? }
//打印
??? print_r($arr);
??? die;
??? }
}
5、对一组数进行排序(快速排序算法)。
思路:通过一趟排序分成两部分,然后递归对这两部分排序,最后合并。
?php
function q($array) {
??? if (count($array) = 1) {return $array;}
//以$key为界,分成两个子数组
??? $key = $array[0];
??? $l = array();
??? $r = array();
//分别进行递归排序,然后合成一个数组
??? for ($i=1; $icount($array); $i++) {
??? if ($array[$i] = $key) { $l[] = $array[$i]; }
??? else { $r[] = $array[$i]; }
}
??? $l = q($l);
??? $r = q($r);
??? return array_merge
您可能关注的文档
最近下载
- Y Y-T 1118-2001 石膏绷带 粘胶型.pdf VIP
- 中职语文《江姐》(节选) 知识清单.docx VIP
- 绝望的主妇经典台词1-8季中英对照.pdf VIP
- 华力液压模块车(SPMT)使用说明书.pdf VIP
- 2025年保安员(初级)考试模拟100题(含答案) .pdf VIP
- 2024四年级上册语文课课贴(彩虹版).pdf VIP
- GZ055 环境艺术设计赛项赛题15套-2023年全国职业院校技能大赛赛项赛题 .pdf VIP
- 12小学体育二年级课程纲要.doc VIP
- 粘胶型石膏绷带产品技术要求2023完整版.docx VIP
- 2025-2026学年初中数学七年级上册(2024)华东师大版(2024)教学设计合集.docx
文档评论(0)