数据构造线性表代码
线性表是n个数据特点相反的元素的组成无限序列,是最根本且罕用的一种线性构造(线性表,栈,行列步队,串以及数组都是线性构造),同时也是其余数据构造的根底。
关于非空的线性表或许线性构造的特性:
(1)存正在惟一的一个被称作“第一个”的数据元素;
(2)存正在惟一的一个被称作“最初一个”的数据元素;
(3)除了第一个外,构造中的每一个数据元素均只有一个先驱;
(4)除了最初一个外,构造中的每一个数据元素均只有一个后继;
线性表构造程序示意(程序表)
概念:用一组地点延续的存储单位顺次存储线性表的数据元素,这类存储构造的线性表称为程序表。
特性:逻辑上相邻的数据元素,物理秩序也是相邻的。
只需确定好了存储线性表的肇始地位,线性表中任一数据元素均可以随机存取,以是线性表的程序存储构造是一种随机存取的贮存构造,由于初级言语中的数组类型也是有随机存取的特点,以是通常咱们都应用数组来形容数据构造中的程序贮存构造,用静态调配的一维数组示意线性表。
上面是用php来完成数据构造线性表(程序表)的代码:
<?php class ArrayList{ private $list; private $size; public function __construct() { $this->list=array(); $this->size=0; } //初始化链表 public function InitList(){ $this->list=array(); $this->size=0; } //删除了链表 public function destoryList(){ if (isset($this->list)){ unset($this->list); $this->size=0; } } //清空链表 public function clearList(){ if (isset($this->list)){ unset($this->list); } $this->list=array(); $this->size=0; } //判别链表能否为空 public function emptyList(){ if (isset($this->list)){ if ($this->size==0){ return true; }else{ return false; } } } //链表长度 public function lengthList(){ if (isset($this->list)){ return $this->size; }else{ return false; } } //取元素 public function getElem($i){ if ($i<1||$i>$this->size){ die('failed'); } if (isset($this->list)&&is_array($this->list)){ return $this->list[$i-1]; } } //能否正在链表中 public function locateElem($e){ if (isset($this->list)&&is_array($this->list)){ for ($i=0;$i<$this->size;$i++){ if ($this->list[$i]==$e){ return $i+1; } return 0; } } } //先驱 public function priorElem($i){ if ($i<1||$i>$this->size){ die('failed'); } if ($i==1){ die('no prior'); } if (isset($this->list)&&is_array($this->list)){ return $this->list[$i-2]; } } //后继 public function nextElem($i){ if ($i<1||$i>$this->size){ die('failed'); } if ($i==$this->size){ die('no next'); } if (isset($this->list)&&is_array($this->list)){ return $this->list[$i]; } } //拔出元素 public function insertList($i,$e){ if ($i<1||$i>$this->size){ die('failed'); } if (isset($this->list)&&is_array($this->list)){ if ($this->size==0){ $this->list[0]=$e; $this->size++; }else{ for($j=$this->size-1;$j>=$i;$j--){ $this->list[$j]=$this->list[$j-1]; } $this->list[$i-1]=$e; $this->size++; } } } //删除了元素 public function deleteList($i){ if ($i<1||$i>$this->size){ die('failed'); } if (isset($this->list)&&is_array($this->list)){ if ($i==$this->size){ unset($this->list[$i-1]); }else{ unset($this->list[$i-1]); for ($j=$i;$j<$this->size;$j++){ $this->list[$j-1]=$this->list[$j]; } } $this->size--; } } //遍历 public function printList(){ if (isset($this->list)&&is_array($this->list)){ foreach ($this->list as $value) { echo $value.' '; } } } }
更多PHP相干常识,请拜访PHP中文网!
以上就是数据构造线性表代码的具体内容,更多请存眷资源魔其它相干文章!
标签: php教程 线性表 数据结构 php故障解决 php使用问题
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!