`
阅读更多

线性表是具有相同特性的零个或多个元素组成的有限序列

1、它是一个序列

2、若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素有且只有一个前驱和后继

3、线性表是有限的

4、当有零个元素时为空表

5、线性表元素的个数n(n>=0)为线性表的个数

 

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

 

Data

    线性表的数据对象集合为{a1,a2,…,an},每个元素的类型均为DataType。

    其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素有且只有一个直接后继元素。

    数据元素之间的关系是一对一的关系。

 

Operation

    InitList(*L): 初始化操作,建立一个空的线性表L。

    ListEmpty(L): 判断线性表是否为空表,若线性表为空,返回true,否则返回false。

    ClearList(*L): 将线性表清空。

    GetElem(L,i,*e): 将线性表L中的第i个位置元素值返回给e。

    LocateElem(L,e): 在线性表L中查找与给定值e相等的元素,如果查找成功,返回该元素在表中序号表示成功;否则,返回0表示失败。

    ListInsert(*L,i,e): 在线性表L中第i个位置插入新元素e。

    ListDelete(*L,i,*e): 删除线性表L中第i个位置元素,并用e返回其值。

    ListLength(L): 返回线性表L的元素个数。

 

endADT

分享到:
评论

相关推荐

    数据结构实验报告-线性表-两个有序线性表的归并算法

    从键盘输入数据,建立两个有序线性表(每个线性表的输入数据按由小到大次序输入来建立线性表,不必考虑排序算法);输出建好的这两个有序线性表;将这两个有序线性表归并为一个有序线性表;输出归并后的有序线性表。 ...

    数据结构_线性表操作

    初始化线性表 *\n"; cout* 2.删除线性表中所有元素 *\n"; cout* 3.得到线性表的长度 *\n"; cout* 4.检查线性表是否为空 *\n"; cout* 5.得到线性表中指定序号元素 *\n"; cout* 6.遍历一个线性表 *\n"; cout* 7....

    线性表的操作,看看吧

    #define LIST_INIT_SIZE 5 //线性表存储空间的初始分配量 #define LISTINCREMENT 1 //线性表存储空间分配增量 typedef int Status; //函数类型,其值为为函数结果状态代码 typedef int ElemType; //假设数据...

    2、 掌握线性表的基本操作:初始化,插入,删除,查找,判空,求线性表长度等运算在顺序存储结构和链式存储结构上的实现

    2、 掌握线性表的基本操作:初始化,插入,删除,查找,判空,求线性表长度等运算在顺序存储结构和链式存储结构上的实现。 3、 通过本章实验帮助学生加深对C语言的使用(特别是函数的参数调用、指针类型的应用)。 ...

    C语言线性表结构实验

    线性表结构实验 1.实验目的: (1)熟悉C语言的上机环境,进一步掌握C语言的结构特点。 (2)掌握线性表的顺序存储结构的定义及C语言实现。 (3)掌握线性表在顺序存储结构即顺序表中的各种基本操作。 2.问题描述...

    数据结构_线性表的链式存储

    数据结构_线性表的链式存储 实验目的 1. 掌握线性表的链式存储结构。 2. 能熟练地利用链式存储结构实现线性表的基本操作。 3. 能熟练地掌握链式存储结构中算法的实现。 实验内容 1. 分别用头插法和尾插法建立带头...

    数据结构实验-线性表使用

    1、 创建线性表类。线性表的存储结构使用链表。 2、 提供操作:自表首插入元素、删除指定元素、搜索表中是否有指定元素、输出链表。 3、 接收键盘录入的一系列整数(例10,25,8,33,60)作为节点的元素值,创建链表。...

    数据结构实验报告1-线性表-两个有序表的归并-实验内容及要求.docx

    从键盘输入数据,建立两个有序线性表(每个线性表的输入数据按由小到大次序输入来建立线性表,不必考虑排序算法);输出建好的这两个有序线性表;将这两个有序线性表归并为一个有序线性表;输出归并后的有序线性表。 ...

    实验一终稿_基本操作_C++_线性表_

    根据线性表的抽象数据类型的定义,选择下面任一种链式结构实现线性表,并完成线性表的基本功能。线性表存储结构(五选一):1、 带头结点的单链表2、 不带头结点的单链表3、 循环链表4、 双链表5、 静态链表线性表的...

    线性表 实验报告.docx

    试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的存储空间将线性表(a1,a2...,an)逆置为(an,an-1,...,a1)。 选题9:(难)单链表拆分。 将带头结点的单链表LA中分拆成LB和LC两条单链表,LA中的data域...

    线性表的应用(数据结构-线性表)

    实验目的:掌握线性表的基本结构和操作方法,培养灵活使用表解决实际问题的能力。 实验内容: 一条记录有学号和成绩两个数据项,按成绩由大到小建立两个有序表(分别顺序表和链式表实现),并合并成一个有序表(有...

    将一个整数线性表拆分成奇数和偶数线性表

    将这个线性表拆分成一个奇数线性表和一个偶数线性表线,性表的最大长度为20.

    数据结构——线性表

    该文件包括各种线性表的头文件,另外还实现了简单单链表、简单顺序线性表、从A链表中删除B和C链表共有的元素、单链表逆置(以整数为例)、将链表中元素按递增排序并删除所选定范围内的元素、求一个新的集合A为A和B的...

    数据结构线性表实验源代码

    数据结构线性表实验源代码,绝对好用. #define list_init_size 100 #define listcrement 10 #include #include typedef struct { int *elem; int length; int listsize; }sqlist; //构造一个空的线性表 int ...

    数据结构实验报告1线性表的顺序存储结构.doc

    数据结构实验报告(1) 学院: 专业: 班级: "姓名 " "学号 " "实验组" " "实验时间 "2011-10-28 "指导教师" "成绩 " " "实验项目名称 "线性表的顺序存储结构 " "实 "1. 熟练掌握线性表的基本操作在顺序存储和链式...

    实现线性表的插入、删除、查找以及线性表合并等基本操作以及线性表合并等基本操作的程序

    1、选择顺序或链式存储结构实现线性表的基本操作 2、采用顺序或链式存储方式存储线性表,在此基础上实现线性表的各个操作,以及线性表的合并操作

    JAVA线性表JAVA线性表JAVA线性表

    JAVA线性表JAVA线性表JAVA线性表JAVA线性表

    线性表的顺序存储 线性表的顺序存储

    线性表的顺序存储,此程序主要实现线性表的顺序存储,有C++语言实现,还是比较轻易看得懂的!

    链表的C++实现(线性表的链式存储C++实现)

    使用C++类模板实现了线性表的链式存储结构(链表),类中包含了线性表的常用方法:向线性表中插入一个元素、删除一个元素、清空线性表、获取一个元素、获取线性表长度等。大致实现了STL中的链表的基本功能,通过对比...

Global site tag (gtag.js) - Google Analytics