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 url地址栏传中文乱码解决方法集合
Jun 25 PHP
PHP运行时强制显示出错信息的代码
Apr 20 PHP
用php解析html的实现代码
Aug 08 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
Sep 23 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
Apr 13 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
Sep 26 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
Dec 01 PHP
thinkphp配置连接数据库技巧
Dec 02 PHP
PHP里8个鲜为人知的安全函数分析
Dec 09 PHP
thinkPHP使用post方式查询时分页失效的解决方法
Dec 09 PHP
php curl优化下载微信头像的方法总结
Sep 07 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 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/07/12 PHP
用php来检测proxy
2006/10/09 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
解析prototype,JQuery中跳出each循环的方法
2013/12/12 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
深入理解setTimeout函数和setInterval函数
2016/05/20 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
Highcharts入门之简介
2016/08/02 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
[06:10]6.81新信使新套装!给你一个炫酷的DOTA2
2014/05/06 DOTA
python实现自动登录后台管理系统
2018/10/18 Python
Python字符串的一些操作方法总结
2019/06/10 Python
Python对列表的操作知识点详解
2019/08/20 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
Python多线程thread及模块使用实例
2020/04/28 Python
Django2.1.7 查询数据返回json格式的实现
2020/12/29 Python
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
秘书英文求职信范文
2014/01/31 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
2016年清明节寄语
2015/12/04 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python