[PHP] 数据结构-线性表的顺序存储结构PHP实现
2018-08-26 17:31:42来源:博客园 阅读 ()
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);
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash