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 顺序线性表的更多相关文章
- 顺序线性表之大整数求和C++
顺序线性表之大整数求和 大整数求和伪代码 1.初始化进位标志 flag=0: 2.求大整数 A 和 B 的长度: int aLength = a.GetLength(); int bLength = ...
- 顺序线性表 ---- ArrayList 源码解析及实现原理分析
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7738888.html ------------------------------------ ...
- 线性表&顺序线性表
第二章 线性表 参考文献:[数据结构(C语言版)].严蔚敏 本篇章仅为个人学习数据结构的笔记,不做任何用途. 2.1 线性结构的特点 (1). 存在唯一的一个被称为"第一个"的数据 ...
- 顺序线性表之大整数求和C++实现
顺序线性表之大整数求和 大整数求和伪代码 1.初始化进位标志 flag=0: 2.求大整数 A 和 B 的长度: int aLength = a.GetLength(); int bLength = ...
- C语言数据结构-顺序线性表的实现-初始化、销毁、长度、查找、前驱、后继、插入、删除、显示操作
1.数据结构-顺序线性表的实现-C语言 #define MAXSIZE 100 //结构体定义 typedef struct { int *elem; //基地址 int length; //结构体当 ...
- 动态分配的顺序线性表的十五种操作—C语言实现
线性表 定义:是最常用的,也是最简单的数据结构,是长度为n个数据元素的有序的序列. 含有大量记录的线性表叫文件 记录:稍微复杂的线性表里,数据元素为若干个数据项组成,这时把一个数据元素叫记录 结构特点 ...
- 数据结构 - 静态顺序线性表的实行(C语言)
数据结构 - 静态顺序线性表的实行(C语言) 1 获取元素操作 对于线性表的顺序存储结构来说,如果我们要实现GetElem操作,即将线性表L中的第i个位置元素值返回,其实是非常简单的. 只要i的数值在 ...
- 数据结构算法C语言实现(一)---2.2线性表的顺序表示和实现
注意: 虽然是用C语言实现,但是考虑到使用了一个C++的特性----引用以简化代码,所以所有的代码均以cpp作为后缀,用g++编译(以后不做说明). g++版本: 一.简述 本节主要讲述线性表的顺序实 ...
- 线性表之顺序表C++实现
线性表之顺序表 一.头文件:SeqList.h //顺序线性表的头文件 #include<iostream> ; //定义顺序表SeqList的模板类 template<class ...
随机推荐
- Ubuntu 开启telnet、ftp服务
Telnet 这里我们就来对Ubuntu Linux telnet的安装设置进行一下讲解. 1. sudo apt-get install xinetd telnetd 2. Ubuntu Linux ...
- jdbcTemplate学习(二)
前面讲了增加.删除.更新操作,这节讲一下查询. 查询操作: (一)查询一个值(不需要注入参数) queryForObject(String sql, Class<T> requiredTy ...
- javascript 中的JSON.stringify - 将对象和数组转换为json格式(来源于网络)
JSON.stringify 函数 (JavaScript) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串. JSON.stringi ...
- MVC5网站部署到IIS7
server 2008R2+IIS7.5下配置不会出现什么问题,这里记录下在server2008+IIS7下的配置 参考了一下:http://www.cnblogs.com/fcu3dx/p/3773 ...
- Hadoop YARN: 1/1 local-dirs are bad: /var/lib/hadoop-yarn/cache/yarn/nm-local-dir; 1/1 log-dirs are bad: /var/log/hadoop-yarn/containers hdfs硬盘90% yarn unhealthy
1/1 local-dirs are bad: /var/lib/hadoop-yarn/cache/yarn/nm-local-dir; 1/1 log-dirs are bad: /var/log ...
- java连接字符串操作,可用来向sql传值
private static String concat(String tag,String Time) { // TODO Auto-generated method stub // return ...
- [poj2318]TOYS(直线与点的位置关系)
解题关键:计算几何入门题,通过叉积判断. 两个向量的关系: P*Q>0,Q在P的逆时针方向: P*Q<0,Q在P的顺时针方向: P*Q==0,Q与P共线. 实际就是用右手定则判断的. #i ...
- PHP的count(数组)和strlen(字符串)的内部实现
PHP的count(数组)和strlen(字符串)的内部实现上是直接显示一个长度变量,还是重头依次数一遍有多少个元素?关乎我理解这2个函数的效率..希望高人能从php的c源码上讲一讲.没有源码看过源码 ...
- Python03 字符串类型、强制类型转化、列表、元组、字典、集合
1 字符串类型 在python中字符串类型用str表示,字符串的连接用 + 1.1 创建字符串对象 ·创建一个字符串对象有两种方式,一种方式是直接用字符串进行赋值,另外一种是利用str类实例化对象:具 ...
- ubuntu16.04 安装caffe2
1.使用conda创建环境 conda create --name caffe2env python=3.6 ---------------------------------success----- ...