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学习之PHP变量
Oct 09 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
php获取操作系统语言代码
Nov 04 PHP
PHP中捕获超时事件的方法实例
Feb 12 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
PHP支付系统设计与典型案例分享
Aug 02 PHP
PHP7新特性foreach 修改示例介绍
Aug 26 PHP
PHP实现生成带背景的图形验证码功能
Oct 03 PHP
php 获取文件行数的方法总结
Oct 11 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 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
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
可兼容php5与php7的cURL文件上传功能实例分析
2018/05/11 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
理解JSON:3分钟课程
2011/10/28 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
JS导出PDF插件的方法(支持中文、图片使用路径)
2016/07/12 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
深入理解Angular.JS中的Scope继承
2017/06/04 Javascript
node.js基于express使用websocket的方法
2017/11/09 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
javascript 使用sleep函数的常见方法详解
2020/04/26 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
[54:06]OG vs TNC 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
jupyter安装小结
2016/03/13 Python
详解Python中的Descriptor描述符类
2016/06/14 Python
详解python里使用正则表达式的全匹配功能
2017/10/19 Python
Windows下将Python文件打包成.EXE可执行文件的方法
2018/08/03 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
奥地利网上现代灯具和灯饰店:Lampenwelt.at
2018/01/29 全球购物
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
自荐信包含哪些内容
2013/10/30 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
人力资源经理的岗位职责范本
2014/02/28 职场文书
化学教育专业求职信
2014/07/08 职场文书
员工安全责任书范本
2014/07/24 职场文书
观看信仰心得体会
2014/09/04 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
个人委托函范文
2015/01/29 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书