旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

【PHP进修】线性表的递次存储构造道理剖析以及代码示例【php教程】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP教程浏览:121


导读:本篇文章重要报告的是线性表的递次存储构造道理剖析以及代码示例,具有肯定的参考价值,感兴趣的朋侪能够相识一下。1.PHP中的数组实际上是有序映照,能够当做数组,列表,散列表,...
本篇文章重要报告的是线性表的递次存储构造道理剖析以及代码示例,具有肯定的参考价值,感兴趣的朋侪能够相识一下。

1.PHP中的数组实际上是有序映照,能够当做数组,列表,散列表,字典,鸠合,栈,行列,不是牢固的长度
2.数组定义中多个单位都使用了同一个键名,则只使用了末了一个,之前的都被覆盖了
3.想要函数的一个参数老是经由过程援用通报,能够在函数定义中该参数的前面加上标记 &
4.PHP 的援用是别号,就是两个差别的变量名字指向雷同的内容;“默许情况下对象是经由过程援用通报的”。但实在这不是完全正确的,当对象作为参数通报,作为效果返回,或许赋值给别的一个变量,别的一个变量跟本来的不是援用的关联,只是他们都保存着同一个标识符的拷贝

<?php
class Sqlist{
        public $data=array();
        public $length=0;
}
//插进去元素
function listInsert(&$sqlist,$i,$e){
        //位置是不是超出范围
        if($i<1 && $i>$sqlist->length+1){
                return false;
        }   
        //从插进去位置最先,背面的一切元素都退一名
        if($i<=$sqlist->length){//要插进去的位置不是在尾部
                for($k=$sqlist->length-1;$k>=$i-1;$k--){
                        $sqlist->data[$k+1]=$sqlist->data[$k];
                }   
        }   
        //新元素插进去
        $sqlist->data[$i-1]=$e;
        //长度加1
        $sqlist->length++;
        return true;
}
//猎取元素
function getElement($sqlist,$i,&$e){
        if($sqlist->length==0 || $i<1 || $i>$sqlist->length){
                return false;
        }   
        $e=$sqlist->data[$i-1];
        return true;
}
//删除元素
function listDelete($sqlist,$i,&$e){
        if($sqlist->length==0 || $i<1 || $i>$sqlist->length){
                return false;
        }   
        $e=$sqlist->data[$i-1];
        //如果是末了一个元素
        if($i!=$sqlist->length){
                //在删除位置以后的元素,往前挪动一名
                for($k=$i-1;$k<=$sqlist->length-1;$k++){
                        $sqlist->data[$k]=$sqlist->data[$k+1];
                }   
        }   
        $sqlist->length--;
}
//插进去线性表
$sqlist=new Sqlist();
listInsert($sqlist,1,"Tau");
listInsert($sqlist,1,"Shihan");
//猎取元素
$e="";
getElement($sqlist,2,$e);
echo $e."\n";//输出Tau
//删除元素
listDelete($sqlist,1,$e);
var_dump($sqlist);

相干教程:PHP视频教程

以上就是【PHP进修】线性表的递次存储构造道理剖析以及代码示例的细致内容,更多请关注ki4网别的相干文章!

标签:PHP线性表顺序存储