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 相关文章推荐
PHP COOKIE设置为浏览器进程
Jun 21 PHP
php中批量删除Mysql中相同前缀的数据表的代码
Jul 01 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
浅谈php扩展imagick
Jun 02 PHP
ThinkPHP中处理表单中的注意事项
Nov 22 PHP
php实现在服务器上创建目录的方法
Mar 16 PHP
基于php实现的验证码小程序
Dec 13 PHP
php base64 编码与解码实例代码
Mar 21 PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 PHP
PHP实现的XXTEA加密解密算法示例
Aug 28 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
May 29 PHP
PHP中的self关键字详解
Jun 23 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+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
PHP中对于浮点型的数据需要用不同的方法解决
2014/03/11 PHP
php二维码生成
2015/10/19 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
jquery选择器使用详解
2014/04/08 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
异步加载JS、CSS代码(推荐)
2016/06/15 Javascript
JavaScript中对象的不同创建方法
2016/08/12 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
2017/06/16 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
2017/07/11 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
Python新手在作用域方面经常容易碰到的问题
2015/04/03 Python
Python实现针对含中文字符串的截取功能示例
2017/09/22 Python
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
Python开发企业微信机器人每天定时发消息实例
2020/03/17 Python
Python figure参数及subplot子图绘制代码
2020/04/18 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
python 通过文件夹导入包的操作
2020/06/01 Python
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
护士的岗位职责
2013/12/04 职场文书
小学一年级学生评语
2014/04/22 职场文书
应用外语系自荐信
2014/06/26 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
大学迎新生标语
2014/10/06 职场文书
科技馆观后感
2015/06/08 职场文书
八月一日观后感
2015/06/10 职场文书
Nginx 过滤静态资源文件的访问日志的实现
2021/03/31 Servers
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL