首页 > 其他分享 >线性表

线性表

时间:2023-01-30 15:12:49浏览次数:42  
标签:返回 线性表 结果 元素 初始条件 操作

线性表

线性表是具有相同特性的数据元素的一个有限序列; 是一种典型的线性结构


线性表的两种存储结构:

  • 顺序存储结构
  • 链式存储结构

抽象数据类型线性表

抽象数据类型线性表的定义:

ADT List{

​ 数据对象:D=ai|ai属于Elemset,(i=0,1,2,3,...,n,n>0)}

​ 数据关系:R=<ai-1,ai>|ai-1,ai属于D,(i=2,3,...,n)}

​ 基本操作:

​ InitList(&L);

​ 操作结果:创建一个空的线性表L

​ DestroyList(&L);

​ 初始条件:线性表L已存在

​ 操作结果:销毁线性表L

​ ClearList(&L);

​ 初始条件:线性表L已存在

​ 操作结果:将线性表L重置为空表

​ ListEmpty(L);

​ 初始条件:线性表L已存在

​ 操作结果:若线性表L为空表返回TRUE;否则返回FALSE

​ ListLength(L);

​ 初始条件:线性表L已存在

​ 操作结果:返回线性表L中的数据元素个数

​ GetElem(L,i,&e);

​ 初始条件:线性表L已存在; 1<=i<=ListLength(L)

​ 操作结果:用e返回线性表L中第i个数据元素的值

​ LocateElem(L,e,compare());

​ 初始条件:线性表L已存在; compare()是数据元素判定函数

​ 操作结果:返回L中第1个与e满足compare()数据元素的位序,若不存在则返回0

​ PriorElem(L,cur_e,&pre_e);

​ 初始条件:线性表L已存在

​ 操作结果:若,cur_e是L的数据元素且不是第一个,则用pre_e返回其前驱;否则操作失败pre_e无意义

​ NextElem(L,cur_e,&next_e);

​ 初始条件:线性表L已存在

​ 操作结果:若,cur_e是L的数据元素且不是最后一个,则用next_e返回其后继;否则操作失败next_e无意义

​ ListInsert(&L,i,e);

​ 初始条件:线性表L已存在; 1<=i<=ListLength(L)+1

​ 操作结果:在L的第i个位置之插入新的元素e,L长度加一

​ ListDelete(&L,i,&e);

​ 初始条件:线性表L已存在; 1<=i<=ListLength(L)

​ 操作结果:删除L的第i个数据元素,并用e返回其值,L长度减一

​ ListTraverse(&L,visited());

​ 初始条件:线性表L已存在

​ 操作结果:依次对线性表中每个元素调用visited()

}ADT List

标签:返回,线性表,结果,元素,初始条件,操作
From: https://www.cnblogs.com/yuanyu610/p/17076015.html

相关文章

  • 线性表之堆栈
    什么是堆栈像叠盘子一样,先放下的在下面,先拿出来的却是最上面的,也就是,先进去的最后才出来先进后出的就是堆栈堆栈的操作生成空堆栈,其最大长度为MaxSize判断堆栈S是......
  • 线性表之队列
    目录什么是队列大众化专业性队列的操作集队列的链式存储实现链表结构体初始化删除并返回队头数据元素其他操作什么是队列大众化最常见的队列就是排队假设超市送鸡蛋......
  • 数组描述线性表(C++实现)
    线性表也称有序表,其每一个实例都是元素的一个有序集合抽象类linearList一个抽象类包含没有实现代码的成员函数,这样的成员函数称为纯虚函数,用数字0作为初始值来说明templ......
  • 第二章 线性表(上)
    一、线性表的定义及具体操作1.定义线性表(LinearList)是具有相同数据类型的n(n≥0)个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表。若用L命名线性表,则其一般表......
  • 线性表算法相关练习
    //将两个递增的有序链表合并为一个递增的有序链表。//要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中不允许有重复的数据。#include<iostream>#......
  • 线性表的顺序表示
    顺序表的定义线性表的顺序存储又称顺序表.它是用一组地址连续的存储单元依次存储线性表中的数据元素,从而使逻辑上相邻的两个元素在物理位置上也相邻。publicclassInitL......
  • C++实现线性表-顺序表的合并操作代码
    #include<iostream>#include<cstdlib>//C++动态分配存储空间usingnamespacestd;#defineOK1#defineERROR0#defineMAXSIZE100typedefintElemtype;typedefintStat......
  • 线性表之链式存储
    目录初始化一个空线性表空链式表的抽象表达查找按序号按值在位序i前插入一个新元素X删除指定位序i的元素返回线性表L的长度n吐槽初始化一个空线性表空链式表的抽象表达/......
  • 线性表
    1.定义和分类1.线性表是具有相同数据类型n个数据元素的有限序列,n为表长,其表示为:L=(a1,a2,a3,...,an),是最基本,最常见的一种数据结构2.前驱元素和后驱元素:若A元素在......
  • C++数据结构01--顺序线性表实现
    今天正好又是很闲,就简单实现一下数据结构里面的顺序线性表玩一下,后面有时间再慢慢把后面几种数据结构实现一下玩一下。顺序线性表,就是在连续内存中元素按内存地址顺序排列的......