加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2023-10-13 10:26:36 所属栏目:PHP教程 来源:
导读:本篇文章主要讲述的是线性表的顺序存储结构原理分析以及代码示例,具有一定的参考价值,感兴趣的朋友可以了解一下。

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); 
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章