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 n个不重复的随机数生成代码
Jun 23 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
May 18 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
PHP获取网址的顶级域名函数代码
Sep 24 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
Jul 04 PHP
php简单定时执行任务的实现方法
Feb 23 PHP
摘自织梦CMS的HTTP文件下载类
Aug 08 PHP
Zend Framework分发器用法示例
Dec 11 PHP
php获取指定数量随机字符串的方法
Feb 06 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
laravel框架模型和数据库基础操作实例详解
Jan 25 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
jquery 可排列的表实现代码
2009/11/13 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
Node.js事件驱动
2015/06/18 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
使用python实现递归版汉诺塔示例(汉诺塔递归算法)
2014/04/08 Python
python实现马耳可夫链算法实例分析
2015/05/20 Python
用Python画小女孩放风筝的示例
2019/11/23 Python
Python map及filter函数使用方法解析
2020/08/06 Python
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
好的自荐信的要求
2013/10/30 职场文书
宿舍卫生检讨书
2014/01/16 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
2014年小学德育工作总结
2014/12/05 职场文书
办公室行政主管岗位职责
2015/04/09 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
《火烧云》教学反思
2016/02/23 职场文书
六年级作文之自救
2019/12/19 职场文书
python神经网络编程之手写数字识别
2021/05/08 Python
python代码实现备忘录案例讲解
2021/07/26 Python
基于Python实现对比Exce的工具
2022/04/07 Python