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 相关文章推荐
Windows IIS PHP 5.2 安装与配置方法
Jun 08 PHP
PHP中将数组转成XML格式的实现代码
Aug 08 PHP
php 函数中使用static的说明
Jun 01 PHP
浅析ThinkPHP的模板输出功能
Jul 01 PHP
php中instanceof 与 is_a()区别分析
Mar 03 PHP
PHP实现动态web服务器方法
Jul 29 PHP
PHP设计模式之简单投诉页面实例
Feb 24 PHP
Yii实现简单分页的方法
Apr 29 PHP
Laravel5权限管理方法详解
Jul 26 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
thinkphp整合微信支付代码分享
Nov 24 PHP
php判断目录存在的简单方法
Sep 26 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
Look And Say 序列php实现代码
2011/05/22 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
javascript import css实例代码
2008/07/18 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
javascript向flash swf文件传递参数值注意细节
2012/12/11 Javascript
checkbox全选所涉及到的知识点介绍
2013/12/31 Javascript
jQuery中attr()和prop()在修改checked属性时的区别
2014/07/18 Javascript
一个获取第n个元素节点的js函数
2014/09/02 Javascript
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
js表单验证实例讲解
2016/03/31 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
js获取 gif 的帧数的代码实例
2019/09/10 Javascript
JavaScript WeakMap使用详解
2021/02/05 Javascript
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
django基础学习之send_mail功能
2019/08/07 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
2019/12/25 Python
计算机专业推荐信范文
2013/11/27 职场文书
土木工程专业个人求职信
2013/12/30 职场文书
施工资料员岗位职责
2014/01/06 职场文书
大学生旷课检讨书
2014/01/22 职场文书
知识改变命运演讲稿
2014/05/21 职场文书
解析CSS 提取图片主题色功能(小技巧)
2021/05/12 HTML / CSS
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
2022/02/12 Redis