站长资讯网
最全最丰富的资讯网站

php实现顺序线性表

php实现顺序线性表

什么是线性顺序表?

线性顺序表是指按照顺序在内存进行存储,除起始和结尾以外都是一一连接的(一般都是用一维数组的形式表现)。

(免费学习视频教程分享:php视频教程)

实例代码如下所示:

<?php /*  * GetElem: 返回线性表中第$index个数据元素  * ListLength: 返回线性表的长度  * LocateElem: 返回给定的数据元素在线性表中的位置  * PriorElem: 返回指定元素的前一个元素  * NextElem: 返回指定元素的后一个元素  * ListInsert: 在第index的位置插入元素elem  * ListDelete: 删除第index位置的元素elem  */ class Sequence {   public $seqArr;   public $length;   public function __construct($arr) {     $this->seqArr = $arr;     $this->length = count($arr);   }   /*    * 返回线性表中第$index个数据元素    */   public function GetElem($index) {     if (($this->length) == 0 || $index < 0 || ($index > $this->length)) {       return "Error";     }     return $this->seqArr[$index - 1];   }   /*    * 返回线性表的长度    *    */   public function ListLength() {     return $this->length;   }   /*    * 返回给定的数据元素在线性表中的位置    */   public function LocateElem($elem) {     for ($i = 0; $i < ($this->length); $i++) {       if (($this->seqArr[$i]) == $elem) {         return $i + 1;       }     }   }   /*    * PriorElem: 返回指定元素的前一个元素    */   public function PriorElem($elem) {     for ($i = 0; $i < ($this->length); $i++) {       if (($this->seqArr[$i]) == $elem) {         if ($i == 0) {           return "Error (is null) ";         } else {           return $this->seqArr[$i - 1];         }       }     }   }   /*    * NextElem: 返回指定元素的后一个元素    */   public function NextElem($elem) {     for ($i = 0; $i < ($this->length); $i++) {       if (($this->seqArr[$i]) == $elem) {         return $this->seqArr[$i + 1];       }     }   }   /*    * ListInsert: 在第index的位置插入元素elem    */   public function ListInsert($index, $elem) {     if (($this->length) == 0 || $index < 0 || $index > ($this->length)) {       return "Error";     }     for ($i = $index; $i < ($this->length); $i++) {       $this->seqArr[$i + 1] = $this->seqArr[$i];     }     $this->seqArr[$index] = $elem;     $this->length = $this->length + 1;     return $this->seqArr;   }   /*    * ListDelete: 删除第index位置的元素    */   public function ListDelete($index) {     if (($this->length) == 0 || $index < 0 || $index > ($this->length - 1)) {       return "Error";     }     unset($this->seqArr[$index]);     $this->length--;     return $this->seqArr;   } } ?>

相关文章教程分享:php教程

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号