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 相关文章推荐
也谈截取首页新闻 - 范例
Oct 09 PHP
PHP读取txt文件的内容并赋值给数组的代码
Nov 03 PHP
php_screw 1.5:php加密: 安装与使用详解
Jun 20 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
Jul 02 PHP
php实现的支持断点续传的文件下载类
Sep 23 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
Nov 19 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
浅谈PHP安全防护之Web攻击
Jan 03 PHP
laravel框架数据库配置及操作数据库示例
Oct 10 PHP
php7性能提升的原因详解
Oct 13 PHP
PHP7创建销毁session的实例方法
Feb 03 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速度全攻略
2006/10/09 PHP
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
JSONP 跨域访问代理API-yahooapis实现代码
2012/12/02 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
vue的全局变量和全局拦截请求器的示例代码
2018/09/13 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
python中map()函数的使用方法示例
2017/09/29 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
Python多进程方式抓取基金网站内容的方法分析
2019/06/03 Python
使用Python实现画一个中国地图
2019/11/23 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
2020/12/01 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
营业员实习自我鉴定
2013/12/07 职场文书
卫生安全检查制度
2014/02/04 职场文书
护理人员的自我评价分享
2014/03/15 职场文书
意向书范文
2014/03/31 职场文书
求职者怎样写自荐信
2014/04/13 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle
彩虹社八名人气艺人全新周边限时推出,性转女装男装一次拥有!
2022/04/01 日漫
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技
MySQL创建管理RANGE分区
2022/04/13 MySQL