加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP实现线性表的顺序存储结构

发布时间:2020-05-25 02:34:30 所属栏目:PHP 来源:互联网
导读:本文章向大家介绍PHP实现线性表的顺序存储结构,需要的朋友可以参考一下

1.PHP中的数组实际上是有序映射,可以当成数组,列表,散列表,字典,集合,栈,队列,不是固定的长度


2.数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了


3.想要函数的一个参数总是通过引用传递,可以在函数定义中该参数的前面加上符号 &


4.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,&$e){

if($sqlist->length==0 || $i<1 || $i>$sqlist->length){

return false;

}

$e=$sqlist->data[$i-1];

return true;

}

//删除元素

function listDelete($sqlist,&$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,"Shihan");

//获取元素

$e="";

getElement($sqlist,2,$e);

echo $e."n";//输出Tau

//删除元素

listDelete($sqlist,$e);

var_dump($sqlist);

(编辑:安卓应用网)

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

    推荐文章
      热点阅读