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写出自己的BLOG系统 2
Apr 12 PHP
PHP随机字符串生成代码(包括大小写字母)
Jun 24 PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 PHP
Yii实现MySQL多数据库和读写分离实例分析
Dec 03 PHP
php实现随机生成易于记忆的密码
Jun 19 PHP
大家都应该掌握的PHP关联数组使用技巧
Dec 25 PHP
php实现学生管理系统
Mar 21 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 PHP
解析PHP之提取多维数组指定列的方法
Jan 03 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
Mar 17 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
实例讲解PHP表单处理
Feb 15 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
header()函数使用说明
2006/11/23 PHP
用php实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
laravel中的一些简单实用功能
2018/11/03 PHP
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
用jquery ajax获取网站Alexa排名的代码
2009/12/12 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
获取jqGrid中选择的行的数据
2016/11/30 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
Python isinstance函数介绍
2015/04/14 Python
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
利用Python开发微信支付的注意事项
2016/08/19 Python
python实现神经网络感知器算法
2017/12/20 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
python实现二维数组的对角线遍历
2019/03/02 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
2020/04/14 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
matplotlib 多个图像共用一个colorbar的实现示例
2020/09/10 Python
《记承天寺夜游》教学反思
2014/02/16 职场文书
《乡愁》教学反思
2014/02/18 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
老人节标语大全
2014/10/08 职场文书
青岛海底世界导游词
2015/02/11 职场文书
自主招生推荐信怎么写
2015/03/26 职场文书
心理健康教育主题班会
2015/08/13 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
对讲机知识
2022/04/07 无线电
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang