代码要多敲,看是看不会的php
php代码直接在页面很差敲,能够去控制器里面敲html
在一组数中,要求插入一个数,按其原来顺序插入,维护原来排序方式。数组
(1)、思路:找到比要插入数大的那个位置,替换,而后把后面的数后移一位。函数
1 <?php 2 $in = 2; 3 $arr = array(1,1,1,3,5,7); 4 $n = count($arr); 5 //若是要插入的数已经最大,直接打印 6 if($arr[$n-1] < $in) { 7 $arr[$n+1] = $in; print_r($arr); 8 } 9 for($i=0; $i<$n; $i++) { 10 //找出要插入的位置 11 if($arr[$i] >= $in){ 12 $t1= $arr[$i]; 13 $arr[$i] = $in; 14 //把后面的数据后移一位 15 for($j=$i+1; $j<$n+1; $j++) { 16 $t2 = $arr[$j]; 17 $arr[$j] = $t1; 18 $t1 = $t2; 19 } 20 //打印 21 print_r($arr); 22 die; 23 } 24 }
一、print_r打印数组spa
(2)、code
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>PHP Exercise</title> 6 </head> 7 <body> 8 <div>这是杨辉三角</div> 9 <?php 10 $in=2; 11 $arr=array(1,1,1,3,5,7); 12 //一、将数组排序 13 sort($arr); 14 //二、二分查找在数组中找到要插入的位置 15 $len=count($arr); 16 $h=0; 17 $t=$len-1; 18 $in_pos=-1; 19 while($h<=$t){ 20 $ave=intval(($h+$t)/2); 21 if($ave==$in){ 22 $in_pos=$ave; 23 break; 24 }else if($ave>$in){ 25 $t=$ave-1; 26 }else{ 27 $h=$ave+1; 28 } 29 } 30 dump($in_pos); 31 //三、插入元素后面的数据依次后移,在数组中插入元素 32 ?> 33 </body> 34 </html>
一、sort()排序htm
二、count()函数计算元素数目blog
三、intval对浮点数取整排序
四、第22行,函数内能够直接用函数外的变量ci
五、php也支持break关键词
六、原生php也支持dump关键词