1 / 17
文档名称:

数据结构实验.doc

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

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

分享

预览

数据结构实验.doc

上传人:2028423509 2021/8/19 文件大小:225 KB

下载得到文件列表

数据结构实验.doc

文档介绍

文档介绍:- -
- -可修编.
《数据结构与算法》实验报告
实验序号:3实验项目名称:链式表的操作
学  号
1507112104
姓  名
陈忠表
专业、班
15商智
实验地点
指导教师
林开标
实验时间

一、实验目的及要求
1. 通过实验理解单链表的逻辑结构;
2. 通过实验掌握单链表的基本操作和具体的函数实现。
二、实验设备(环境)及要求
微型计算机;
windows 操作系统;
Microsoft Visual Studio 。
三、实验内容与步骤
链式表表示和实现线性表的如下:
#include""
#include""
typedef struct node //定义结点
{
int data; //结点的数据域为整型
struct node *next; //结点的指针域
}ListNode;
typedef ListNode * LinkList; // 自定义LinkList单链表类型
LinkList CreatListR1(); //函数,用尾插入法建立带头结点的单链表
ListNode *LocateNode(LinkList head, int key); //函数,按值查找结点
void DeleteList(LinkList head,int key); //函数,删除指定值的结点
void printlist(LinkList head); //函数,打印链表中的所有值
void DeleteAll(LinkList head); //函数,删除所有结点,释放内存
//==========主函数==============
void main()
{
int num;
char ch;
LinkList head;
- -
- -可修编.
head=CreatListR1(); //用尾插入法建立单链表,返回头指针
printlist(head); //遍历链表输出其值
printf(" Delete node (y/n):"); //输入"y"或"n"去选择是否删除结点
scanf("%c",&ch);
if(ch==’y’) || ch==’Y’){
printf("Please input Delete_data:");
scanf("%d",num); //输入要删除的字符串
DeleteList(head,num);
printlist(head);
}
DeleteAll(head); //删除所有结点,释放内存
}
//==========用尾插入法建立带头结点的单链表===========
LinkList CreatListR1(void)
{
……
return head; //返回头指针
}
//==========按值查找结点,找到则返回该结点的位置,否则返回NULL==========
ListNode *LocateNode(LinkList head, int key)
{
……
return p; //若p=NULL则查找失败,否则p指向找到的值为key的结点
}
//==========删除带头结点的单链表中的指定结点=======
void DeleteList(LinkList head,int key)
{
//按key值查找结点的