1 / 10
文档名称:

数据结构实验报告.doc

格式:doc   大小:504KB   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告.doc

上传人:bb21547 2018/9/3 文件大小:504 KB

下载得到文件列表

数据结构实验报告.doc

文档介绍

文档介绍:数学与计算科学学院
实验报告
实验项目名称线性表的链式表示
所属课程名称数据结构(C语言版)
实验类型验证型实验
实验日期 2011年10月28日
班级信计1001班
学号 7
姓名徐超
成绩
一、实验概述:
【实验目的】
:总存在第一个和最后一个元素;除第一个元素以外,每个元素总存在唯一一个直接前驱元素;除最后一个元素以外,每个元素总存在唯一一个直接后继元素。
:逻辑结构上相邻物理结构上不相邻;是一种随机的存储结构。
,了解算法与程序的区别。
【实验原理】
线性链表的存储结构:用一组任意的存储单元存储线性表的数据元素.
【实验环境】
VC++
二、实验内容:
【实验方案】
首先建立一个带表头节点的单链线性表,然后调用输入函数给每个节点赋值,然后调用插入和删除函数插入和删除元素。
【实验过程】(实验步骤、记录、数据、分析)
在输入窗口输入:
#include<>
#include<>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
typedef int ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode, *LinkList;
Status GetElem_L(LinkList L,int i,ElemType&e)
{
p=L->next;
j=1;
while(p&&j<i)
{
p=p->next;
++j;
}
if(!p||j>i)
return ERROR;
e=p->data;
return OK;
}
Status ListInsert_L(LinkList &L,int i,ElemType e)
{
p=L;
j=0;
while(p&&j<i-1)
{
p=p->next;
++j;
}
if(!p||j>i-1)
return ERROR;
s=(LinkList)malloc(sizeof(LNode));
s->data=e;
s->next=p->next;
p->next=s;
return OK;
}
Status ListDelete_L(LinkList &L,int i,ElemType &e)
{
p=L
j=0;
while(p->next&&j<i-1)
{
p=p->next;
++j;
}
if(!(p->next)||j>i-1)
return ERROR;
q=p->next;
p->next=q->next;
e=q->data;
free(q);
return OK;
}
void CreateList_L(LinkList &L,