分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

[PHP] 数据结构-线性表的顺序存储结构PHP实现

发布时间:2023-09-06 02:11责任编辑:顾先生关键词:PHP

1.PHP中的数组实际上是有序映射,可以当成数组,列表,散列表,字典,集合,栈,队列,不是固定的长度
2.数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了
3.想要函数的一个参数总是通过引用传递,可以在函数定义中该参数的前面加上符号 &
4.PHP 的引用是别名,就是两个不同的变量名字指向相同的内容;“默认情况下对象是通过引用传递的”。但其实这不是完全正确的,当对象作为参数传递,作为结果返回,或者赋值给另外一个变量,另外一个变量跟原来的不是引用的关系,只是他们都保存着同一个标识符的拷贝

<?phpclass 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实现

原文地址:https://www.cnblogs.com/taoshihan/p/9531170.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved