Heim >Backend-Entwicklung >PHP-Tutorial >php 顺序线性表

php 顺序线性表

WBOY
WBOYOriginal
2016-06-23 13:21:45811Durchsuche

<?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]);        array_values($this->seqArr);        return $this->seqArr;    }}?>

  

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn