• 技术文章 >后端开发 >php教程

    【PHP学习】线性表的顺序存储结构原理分析以及代码示例

    little bottlelittle bottle2019-04-25 15:55:50转载621
    本篇文章主要讲述的是线性表的顺序存储结构原理分析以及代码示例,具有一定的参考价值,感兴趣的朋友可以了解一下。

    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学习】线性表的顺序存储结构原理分析以及代码示例的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除
    专题推荐:PHP 线性表顺序存储
    上一篇:【PHP学习】实现两个n位二进制整数相加 下一篇:phpstudy中apache启动失败,80端口占用的处理方案
    大前端线上培训班

    相关文章推荐

    • php线性表顺序存储实现代码(增删查改)_PHP教程• 如何用PHP将文本内容以表格的方式展现到HTML页面上• php array_product()函数怎么用?(代码示例)• 【PHP学习】实现两个n位二进制整数相加

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网