数据结构线性表实验报告

  • 格式:doc
  • 大小:285.50 KB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目的和要求

(1)理解线性表的逻辑结构特性。

(2)深入掌握线性表的两种存储方法,即顺序表和链表。体会这两种存储结构之间的差异。

(3)重点掌握顺序表和链表上各种基本运算的实现。

(4)综合运用线性表解决一些复杂的实际问题。

二、实验内容

实验2.1 编写一个程序algo2-1.cpp,实现顺序表的各种基本运算(假设顺序表的元素类型为char),并在此基础上设计一个程序exp2-1.cpp,完成如下功能:

(1)初始化顺序表L;

(2)采用尾插法依次插入元素a,b,c,d,e;

(3)输出顺序表L;

(4)输出顺序表L长度;

(5)判断顺序表L是否为空;

(6)输出顺序表L的第三个元素;

(7)输出元素a的位置;

(8)在第4个元素位置上插入元素f;

(9)输出顺序表L;

(10)删除L的第3个元素;

(11)输出顺序表L;

(12)释放顺序表L。

实验2.2 编写一个程序algo2-2.cpp,实现单链表的各种基本运算(假设单链表的元素类型为char),并在此基础上设计一个程序exp2-2.cpp,完成如下功能:

(1)初始化单链表h;

(2)采用尾插法依次插入元素a,b,c,d,e;

(3)输出单链表h;

(4)输出单链表h长度;

(5)判断单链表h是否为空;

(6)输出单链表h的第三个元素;

(7)输出元素a的位置;

(8)在第4个元素位置上插入元素f;

(9)输出单链表h;

(10)删除L的第3个元素;

(11)输出单链表h;、

(12)释放单链表h。

释放顺序表L。

实验2.3 编写一个程序algo2-3.cpp,实现双链表的各种基本运算(假设双链表的元素类型为char),并在此基础上设计一个程序exp2-3.cpp,完成如下功能:

(1)初始化双链表h;

(2)采用尾插法依次插入元素a,b,c,d,e;

(3)输出双链表h;

(4)输出双链表h长度;

(5)判断双链表h是否为空;

(6)输出双链表h的第三个元素;

(7)输出元素a的位置;

(8)在第4个元素位置上插入元素f;

(9)输出双链表h;

(10)删除L的第3个元素;

(11)输出双链表h;、

(12)释放双链表h。

三、实验过程描述

实验2.1

程序algo2-1.cpp如下:

#include

#include

#define MaxSize100

typedef

char

Elem Type;

typedef

struct

{

ElemType data[MaxSize];

in length;

}

SqList;

void int(SqList*&L)

{

L=(SqLIST*&L)

{

L=(SqList*)maiioc(sizeofSqList))

L->length=0;

}

voidCreateList(SqList*&L,Elemtypesource[],int n) {

inti;

for(i=0;i

{

L_>data[i]=source[i];

}

L-ength=n;

}

void DisplayList(SqList*L)

{

int i;

for(i=0;ilength;i++)

printf("%c\t",L->data[i];

}

printf("\n");

}

void main()

{

SqLi\list*h;

char a[]={,'a','b'.'c','d','e'};

Init(h);

printf("before Create length=%d\n",h->length); CreateList(h,a,s);

DisplayList(h);

printf("after Create Length=%d\n:,h->length);

}

#include

#include

#define MaxSize100

typedef

char

Elem Type;

typedef

struct

{

ElemType data[MaxSize];

in length;

}

SqList;

void int(SqList*&L)

{

L=(SqLIST*&L)

{

L=(SqList*)maiioc(sizeofSqList))

L->length=0;

}

voidCreateList(SqList*&L,Elemtypesource[],int n) {

inti;

for(i=0;i

{

L_>data[i]=source[i];

}