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

      

  • 相关阅读:
    ORA-32004 的错误处理
    告警日志
    ORACLE 归档日志打开关闭方法
    oracle归档日志配置查询
    教你如何阅读Oracle数据库官方文档
    使用Oracle安装账户登录数据库
    poj 2186 (强连通缩点)
    poj 2516 (费用流)
    STL集合容器set按照由小到大或者由大到小的顺序存放元素
    Android项目 手机安全卫士(代码最全,注释最详细)之十二 设置中心的界面
  • 原文地址:https://www.cnblogs.com/objectboy/p/5018654.html
Copyright © 2011-2022 走看看