1 / 7
文档名称:

数据结构实验一实验报告.doc

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

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

分享

预览

数据结构实验一实验报告.doc

上传人:mh900965 2017/6/22 文件大小:56 KB

下载得到文件列表

数据结构实验一实验报告.doc

文档介绍

文档介绍:实验1 线性表应用
实验目的
熟悉C/C++语言的上机环境,掌握C/C++语言的基本结构。
定义单链表的结点类型。
熟悉对单链表的一些基本操作和具体的函数定义。
通过单链表的定义掌握线性表的链式存储结构的特点。
熟悉对单链表的一些其它操作
实验内容
1. 实现单链表的定义和操作。该程序包括单链表结构类型以及对单链表操作的具体的函数定义
程序中的单链表(带头结点)结点为结构类型,结点值为整型。
3. 试单链表实现一个简单的电子通讯本管理软件,要求能查找联系地址,增加和删除联系人。联系方式假定包括姓名、电话和地址。
实验代码
1.
#include<>
#include<>
#include<>
//预处理命令
#define OK 1;
#define ERROR 0;
#define OVERFLOW -1;
//定义DataType status为int类型
typedef int DataType;
typedef int status;
//定义单链表的结点类型
typedef struct LNode
{
DataType data;
struct LNode *next;
}LNode,*LinkedList;
//初始化单链表
LinkedList LinkedListInit()
{
LinkedList L;
L=(LinkedList)malloc(sizeof(LNode));
L->next=NULL;
return L;
}
//向单链表中插入元素
status LinkedListInsert(LinkedList L,int i,DataType x)
{
// 在链表中第i个结点之前插入新的元素 x
LinkedList s=(LinkedList)malloc(sizeof(LNode));
s->data=x;
LinkedList p=L->next,q;
if (i==1)
{
if (p==NULL)
{
L->next=s;
s->next=NULL;
return OK;
}
else
{
L->next=s;
s->next=p;
return OK;
}
}
int j=1;
while(j<i-1&&p)
{
p=p->next;
j++;
}
if (!p)
{
free(s);
return ERROR;

}
q=p->next;
p->next=s;
s->next=q;
return OK;
}
//从单链表中删除值为x的结点
status LinkedListDel(LinkedList L,DataType x)
{
LinkedList p=L->next,q=L;
while(p&&!(p->data==x))
{
q=p;
p=p->next;
}
if (!p)
return ERROR;
q->next=p->next;
free(p);
return OK