Home >Backend Development >PHP Tutorial >php 顺序线性表

php 顺序线性表

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

<?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;    }}?>

  

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn