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 用checkbox一次性删除多条记录的方法
Feb 23 PHP
php 中文和编码判断代码
May 16 PHP
理解和运用PHP中的多态性[译]
Aug 02 PHP
php抽奖小程序的实现代码
Jun 18 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
Mar 18 PHP
详解PHP错误日志的获取方法
Jul 20 PHP
php简单日历函数
Oct 28 PHP
PHP微信开发之查询城市天气
Jun 23 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
Oct 08 PHP
PHP进程通信基础之信号量与共享内存通信
Feb 19 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 PHP
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
Apr 01 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中实现Javascript的escape()函数代码
2010/08/08 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
php制作动态随机验证码
2015/02/12 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
PHP判断JSON对象是否存在的方法(推荐)
2016/07/06 PHP
飞鱼(shqlsl) javascript作品集
2006/12/16 Javascript
Dom加载让图片加载完再执行的脚本代码
2008/05/15 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
jQuery 拖动层(在可视区域范围内)
2012/05/24 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
深入理解Node中的buffer模块
2017/06/03 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
Python中的Descriptor描述符学习教程
2016/06/02 Python
Python实现对象转换为xml的方法示例
2017/06/08 Python
python实现飞船大战
2020/04/24 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
HTML5应用之文件上传
2016/12/30 HTML / CSS
Laura Mercier官网:彩妆大师罗拉玛斯亚的化妆品牌
2018/01/04 全球购物
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
生日派对邀请函
2014/01/13 职场文书
初中同学聚会感言
2014/02/11 职场文书
汽车维修工岗位职责
2014/02/12 职场文书
商务日语专业自荐信
2014/04/17 职场文书
婚宴父母致辞
2015/07/27 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python