您好,登錄后才能下訂單哦!
<?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]; } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。