前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php实现的顺序线性表示例

php实现的顺序线性表示例

作者头像
砸漏
发布2020-10-21 10:37:38
4780
发布2020-10-21 10:37:38
举报
文章被收录于专栏:恩蓝脚本

本文实例讲述了php实现的顺序线性表。分享给大家供大家参考,具体如下:

代码语言:javascript
复制
<?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;
  }
}
? 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档