php实现的顺序线性表示例


Posted in PHP onMay 04, 2019

本文实例讲述了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;
  }
}
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
来自phpguru得Php Cache类源码
Apr 15 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
php中spl_autoload详解
Oct 17 PHP
thinkphp实现like模糊查询实例
Oct 29 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
php关联数组快速排序的方法
Apr 17 PHP
PHP文件上传处理案例分析
Oct 15 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
Nov 08 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
May 26 PHP
详解yii2使用多个数据库的案例
Jun 16 PHP
PHP递归实现快速排序的方法示例
Dec 18 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
May 09 PHP
TP5.0框架实现无限极回复功能的方法分析
May 04 #PHP
PHP7 mongoDB扩展使用的方法分享
May 02 #PHP
PHP超低内存遍历目录文件和读取超大文件的方法
May 01 #PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 #PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
Apr 30 #PHP
YII框架关联查询操作示例
Apr 29 #PHP
YII框架页面缓存操作示例
Apr 29 #PHP
You might like
php中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
php ZipArchive压缩函数详解实例
2013/11/06 PHP
PHP判断是否有Get参数的方法
2014/05/05 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
JavaScript confirm选择判断
2008/10/18 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
js鼠标滑过弹出层的定位IE6bug解决办法
2012/12/26 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
Javascript毫秒数用法实例
2015/02/05 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
详解vue中axios请求的封装
2019/04/08 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
python实现趣味图片字符化
2019/04/30 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
python全栈知识点总结
2019/07/01 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
房地产员工找工作的自我评价
2013/11/15 职场文书
保险公司年会主持词
2014/03/22 职场文书
寒假家长评语大全
2014/04/16 职场文书
关于读书的演讲稿600字
2014/08/27 职场文书
银行自荐信怎么写
2015/03/05 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
pytorch finetuning 自己的图片进行训练操作
2021/06/05 Python
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis