<?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**/classSeqStoreList{public$SqArr;publicstatic$length;publicfunction__construct($SqArr){$this->SqArr=$SqArr;self::$length=count($SqArr);}//销毁顺序线性表publicfunctionDestroyList(){$this->SqArr=null;self::$length=0;}//将线性表重置为空publicfunctionClearList(){$this->SqArr=array();self::$length=0;}//判断线性表是否为空publicfunctionListEmpty(){if(self::$length==0){return'Isnull';}else{return'Notnull';}}//返回线性表的长度publicfunctionListLength(){returnself::$length;}//返回线性表中第$index个数据元素publicfunctionGetElem($index){if(self::$length==0||$index<1||$index>self::$length){return'ERROR';}return$this->SqArr[$index-1];}//返回给定的数据元素在线性表中的位置publicfunctionLocateElem($elem){for($i=0;$i<self::$length;$i++){if($this->SqArr[$i]==$elem){break;}}if($i>=self::$length){return'ERROR';}return$i+1;}//返回指定元素的前一个元素publicfunctionPriorElem($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];}//返回指定元素的后一个元素publicfunctionNextElem($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的位置插入元素elempublicfunctionListInsert($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位置的元素elempublicfunctionListDelete($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];}}