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生成自己的LOG文件
Oct 09 PHP
BBS(php &amp; mysql)完整版(一)
Oct 09 PHP
CodeIgniter框架中_remap()使用方法2例
Mar 10 PHP
php利用cookies实现购物车的方法
Dec 10 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
Mar 18 PHP
PHP实现获取文件后缀名的几种常用方法
Aug 08 PHP
PHP中include()与require()的区别说明
Feb 14 PHP
php面向对象的用户登录身份验证
Jun 08 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
详解PHP素材图片上传、下载功能
Apr 12 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 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
德生S2000电路分析
2021/03/02 无线电
用PHP来计算某个目录大小的方法
2014/04/01 PHP
php银联网页支付实现方法
2015/03/04 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
thinkPHP5框架路由常用知识点汇总
2019/09/15 PHP
PHP pthreads v3在centos7平台下的安装与配置操作方法
2020/02/21 PHP
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
一个加载js文件的小脚本
2007/06/28 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
vue中使用better-scroll实现滑动效果及注意事项
2018/11/15 Javascript
使用Three.js实现太阳系八大行星的自转公转示例代码
2019/04/09 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
Node 模块原理与用法详解
2020/05/13 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
Python中给List添加元素的4种方法分享
2014/11/28 Python
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
对Python中for复合语句的使用示例讲解
2018/11/01 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
风险评估实施方案
2014/03/09 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
幼师大班个人总结
2015/02/13 职场文书
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python