zoukankan      html  css  js  c++  java
  • php 顺序线性表

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

      

  • 相关阅读:
    translations.dart阅读
    # objc-weak 阅读
    Objective-C Runtime2.0(-)
    iOS图文混排
    BestCoder Round #85 抽屉原理/贪心/质因数
    hdu 5763 Another Meaning KMP+DP(多校)
    hdu 5775 Bubble Sort 树状数组(多校)
    BestCoder Round #84
    hdu 5724 SG函数+状压(多校)
    hdu 5723 最小生成树+dfs (多校)
  • 原文地址:https://www.cnblogs.com/objectboy/p/5018654.html
Copyright © 2011-2022 走看看