<?php /** * * 线性表:即零个或多个数据元素的有限序列。 * 线性表的数据结构:即数据元素依此存储在一段地址连续的存储单元内。在高级语言中就表现为数组。 * * 1. DestroyList: 销毁顺序线性表 * 2. ClearList: 将线性表重置为空 * 3. ListEmpty: 判断线性表是否为空 * 4. ListLength: 返回线性表的长度 * 5. GetElem: 返回线性表中第$index个数据元素 * 6. LocateElem: 返回给定的数据元素在线性表中的位置 * 7. PriorElem: 返回指定元素的前一个元素 * 8. NextElem: 返回指定元素的后一个元素 * 9. ListInsert: 在第index的位置插入元素elem * 10. ListDelete: 删除第index位置的元素elem * */ class SeqStoreList { public $SqArr; public static $length; public function __construct($SqArr){ $this->SqArr=$SqArr; self::$length=count($SqArr); } //销毁顺序线性表 public function DestroyList(){ $this->SqArr=null; self::$length=0; } //将线性表重置为空 public function ClearList(){ $this->SqArr=array(); self::$length=0; } //判断线性表是否为空 public function ListEmpty(){ if(self::$length==0){ return 'Is null'; }else{ return 'Not null'; } } //返回线性表的长度 public function ListLength(){ return self::$length; } //返回线性表中第$index个数据元素 public function GetElem($index){ if(self::$length==0 || $index<1 || $index>self::$length){ return 'ERROR'; } return $this->SqArr[$index-1]; } //返回给定的数据元素在线性表中的位置 public function LocateElem($elem){ for($i=0;$i<self::$length;$i++){ if($this->SqArr[$i] == $elem){ break; } } if($i>=self::$length){ return 'ERROR'; } return $i+1; } //返回指定元素的前一个元素 public function PriorElem($cur_elem){ for($i=0;$i<self::$length;$i++){ if($this->SqArr[$i] == $cur_elem){ break; } } if($i==0 || $i>=self::$length){ return 'ERROR'; } return $this->SqArr[$i-1]; } //返回指定元素的后一个元素 public function NextElem($cur_elem){ for($i=0;$i<self::$length;$i++){ if($this->SqArr[$i] == $cur_elem){ break; } } if($i>=self::$length-1){ return 'ERROR'; } return $this->SqArr[$i+1]; } //在第index的位置插入元素elem public function ListInsert($index,$elem){ if($index<1 || $index>self::$length+1){ return 'ERROR'; } if($index<=self::$length){ for($i=self::$length-1;$i>=$index-1;$i--){ $this->SqArr[$i+1]=$this->SqArr[$i]; } } $this->SqArr[$index-1]=$elem; self::$length++; return 'ok'; } //ListDelete: 删除第index位置的元素elem public function ListDelete($index){ if($index<1 || $index>self::$length+1){ return 'ERROR'; } if($index<self::$length){ for($i=$index;$i<self::$length;$i++){ $this->SqArr[$i-1]=$this->SqArr[$i]; } } self::$length--; return $this->SqArr[$index-1]; } }
数据结构之线性表——顺序存储结构(php代码实现)
原创
©著作权归作者所有:来自51CTO博客作者great_yonchin的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【数据结构】详细剖析线性表
【数据结构】第二章——线性表(9)总结了线性表的基本知识点,并对循序表与链表进行了比较
数据结构 C语言 线性表 顺序表 链表 -
数据结构-线性表-顺序存储
数据结构-线性表-顺序存储
线性表 顺序存储 数据结构 数组 -
【数据结构——线性表之顺序表】
线性表之《顺序表的表示及基本操作的实现》
数据结构 算法 链表 顺序表 sql -
线性表(1):线性表顺序存储结构的php实现
线性表的顺序存储结构 (sequential list),也叫顺序表的php实现
php 数据结构 线性表 顺序表 -
(2)数据结构-线性表顺序存储
文章目录1、简介2、完整代码1、简介线性表是具有相同数据类型的n个数据元素的有限序
数据结构 Data 线性表 初始化