线性表的抽象数据类型描述

代码如下

 1 //抽象数据类型线性表的定义
 2 #include <studio.h>
 3 /*-------------------初始化线性表-----------------------*/
 4 void InitList(SqList *&L)
 5 {
 6     L=(SqList*)malloc(sizeof(SqList));
 7     L->length=0;
 8 }
 9 /*--------------------销毁线性表,释放内存空间----------------------*/
10 void DestroyList(SqList *&L)
11 {
12     free(L);
13 }
14 /*------------判断线性表是否为空表,空表返回真,否则返回假---------------*/
15 bool ListEmpty(SqList *L)
16 {
17     return(L->length=0);
18 }
19 /*-------------------求线性表的长度-----------------------*/
20 int ListLength(SqList *L)
21 {
22     return(L->length);
23 }
24 /*--------------------输出线性表----------------------*/
25 void DispList(SqList *L)
26 {
27     int i;
28     for(i=0;i<L->length;i++)
29         printf("%d",L->data[i]);
30     printf("\n");
31 }
32 /*--------------------求线性表中某个元素的值,返回第i个元素的值----------------------*/
33 bool GetElem(SqList *L,int i,ElemType &e)
34 {
35     if(i<1||i>L->length)
36         return false;
37     e=L->data[i-1];
38     return true;
39 }
40 /*----按元素之查找,返回L中第一个值域与e相等的序号,若这样的元素不存在,则返回值为零-----*/
41 int LocateElem(SqList *L,ElemType e)
42 {
43     int i=0;
44     while(i<L->length&&L->data[i]!=e)
45         i++;
46     if(i>=L->length)
47         else
48             return i+1;
49 }
50 /*------------插入数据元素,在L的第i个元素之前插入新的元素-------------*/
51 bool ListInsert(SqList *&L,int i,ElemType e)
52 {
53     int j;
54     if(i<1||i>L->data[j-1])
55         L->data[j]=L->data[j-1];
56     L->data
57 }
58 /*------------------删除数据元素,删除L的第i个元素------------------------*/
59 bool ListDelete(SqList *&L,int i,ElemType &e)
60 {
61     int j;
62     if(i<1||i>L->length)
63         return false;
64     i--;
65     e=L->data[i];
66     for(j=i;j<L->length-1;j++)
67         L->data[j]=L->data[j+1];
68     L->length--;
69     return true;
70 }
时间: 2024-10-06 08:05:45

线性表的抽象数据类型描述的相关文章

线性表—顺序表

引言(重点): 1.线性表的概述 2.线性表的抽象数据类型描述 3.线性表的实现方式 4.线性表的具体实现 5.每种具体实现的分析 1.什么是线性表?线性表(Linear List):由同类型元素构成有序序列的线性结构. 特征:1.表中元素个数称为线性表的长度2.线性表没有元素时,称为空表3.表起始位置称表头,表结束位置称为表尾4.在一个元素的前面的元素叫前驱元素,在一个元素后面的元素叫后继元素. 2.线性表的抽象数据类型描述 List MakeEmpty():初始化一个空线性表L;Elemen

【数据结构第二周】线性表知识点整理

1.什么是线性表? 线性表(Linear List):由同类型元素构成有序序列的线性结构. 表中元素个数称为线性表的长度 线性表没有元素时,称为空表 表起始位置称表头,表结束位置称为表尾 2.线性表的抽象数据类型描述 List MakeEmpty():初始化一个空线性表L;ElementType FindKth( int K, List L ):根据位序K,返回相应元素 ; int Find( ElementType X, List L ):在线性表L中查找X的第一次出现位置; void Ins

线性表——顺序表的实现与讲解(C++描述)

线性表 引言 新生安排体检,为了 便管理与统一数据,学校特地规定了排队的方式,即按照学号排队,谁在前谁在后,这都是规定好的,所以谁在谁不在,都是非常方便统计的,同学们就像被一条线(学号)联系起来了,这种组织数据(同学)的方式我们可以称作线性表结构 定义 线性表:具有零个或多个(具有相同性质,属于同一元素的)数据元素的有限序列 若将线性表记为 ( a0 , a1 ,ai -1 ai ,ai +1 , ... , an - 1 , an ) 注意:i 是任意数字,只为了说明相对位置,下标即其在线性表

第三讲.线性表(读书笔记)

一.线性表(List)概念 线性表(List):零个或多个数据元素的有限序列. 元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继. 二.线性表的抽象数据类型 对于一个线性表来说,插入数据和删除数据都是必须的操作. 注意一个很容易混淆的地方:当你传递一个参数给函数的时候,这个参数会不会在函数内被改动决定了使用什么参数形式.如果需要被改动,则需要传递指向这个参数的指针,如果不用被改动,可以直接传递这个参数. 三.线性表的顺序存储结构 线

线性表结构的Java实现

一.线性表的抽象数据类型表述 线性表的结构简单,长度允许动态增长或搜索:可以对线性表中的任何数据元素进行访问和查找:允许进行数据的插入和删除操作:求线性表中的指定数据的前驱和后继:合并线性表以及拆分线性表中. Java JDK中有ArrayList和LinkedList两个类很好的实现了顺序存储和链式存储.因此学习数据结构的最好方式是去研究JDK源码. 这里的代码个人作为练习,为了便于理解,很多地方处理的并非十分严谨,仅供参考.转载注明出处,技术讨论 email: <[email protect

大话数据结构之二(线性表)

线性表的抽象数据类型 什么是线性表.线性表其实就是零个或多个数据元素的有限序列. 在较复杂的线性表中,一个数据元素可以由若干个数据项组成 线性表的抽象数据类型如下: 线性表的顺序存储结构 事实上我们可以用c语言的一维数组来实现顺序存储结构,源码如下: #include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "t

【数据结构】线性表

1. 线性表的定义 (1) 线性表的定义 线性表(List):零个或多个数据元素的有限序列. (2) 线性表的抽象数据类型 ADT 线性表(List)Data 线性表的数据对象集合为{a1,a2,...,an},每个元素的类型均为DataType.其中,除第一个元素a1外,每个元素有且仅有一个直接前驱元素,除最后一个元素an外,每一个元素有且只有一个后继元素.数据元素间的关系是一对一的关系.Operation initList(&L):初始化操作,建立一个空的线性表L. listEmpty(L)

第三章 线性表(C#实现)

1.线性表 概念::零个或多个数据元素的有序序列. 描述: 2.线性表的抽象数据类型: ADT线性表 Data:线性表的数据对象集合为{a1,a2,...,an},每个元素的类型均为DataType.其中除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素有且只有一个直接后继元素,数据元素之间的关系是一对一的关系. Operation Init(*L):初始化操作,建立一个空的线性表: IsEmpty(*L):判断线性表是否为空,若为空,则返回true,否则

第三章 线性表

线性表:零个或多个数据元素的有限序列.序列:说明元素之间是有顺序的.若元素存在多个,则第一个元素无前驱,最后一个元素无后缀.其他元素都只有一个前缀和一盒后缀. 线性表中,数据元素有多个数据项. 线性表的抽象数据类型 定义: 线性表的顺序存储结构:指的是用一段地址连续的存储单元依次存储线性表的数据元素. 线性表的链式存储结构:在链式结构中,除了要存数据元素信息外,还要存储它的后继元素的存储地址,把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域.指针域中存储的信息称为指针或链.这两