线性表—顺序表-顺序表基本运算的实现

来源:互联网 发布:淘宝长城旗舰店假货 编辑:程序博客网 时间:2024/06/18 18:41

基本运算——初始化线性表
lintList
这里写图片描述
目标是构造出一个空的线性表
分配空间后,将length成员设置为0
对L的作用会传递回去

基本运算——销毁线性表
DestroyList
这里写图片描述
C free() C++delete()

基本运算——判断是否为空表
ListEmpty
这里写图片描述
bool类型 C没有
C++才有
C自己构造一个

基本运算——求线性表长度
ListLength
这里写图片描述

基本运算——输出线性表
DispList
这里写图片描述
先判断是否为空,再用一个循环输出,顺序的输出每一个元素。

基本运算——求每个数据元素的值
GetElem(L,i,e)
功能:
返回L中第i个元素的值,存放在e中
这里写图片描述

注意逻辑顺序和物理顺序的不一样
逻辑中的第i个是物理中的第i-1个

e为引用,实际参数和形式参数共享空间

基本云散——按元素值查找
LocateElem(L,e)
查找第一个值域与e相等的元素的 逻辑位序 。若这样的元素不存在则返回0.
这里写图片描述

基本运算——插入数据元素
ListInsert(L,i,e)
这里写图片描述
这里写图片描述
i是逻辑位序
注意把逻辑序号转化为物理序号
一个后移循环算法
for (j=L->length; j>i; j–) //元素后移
L->data[j]=L->data[j-1];
//注意 L->data[i]=e; 这里的i是物理位序
逻辑上这里的i=i-1 因为前面i–了 !!注意区别
这里写图片描述

基本运算——删除数据元素
ListDelete(L,i,e)
功能删除顺序表L的第i个元素
这里写图片描述

0 0
原创粉丝点击