第一范文网 - 专业文章范例文档资料分享平台

单链表的初始化插入和删除实验报告

来源:用户分享 时间:2025/11/4 4:45:23 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

自学考试计算机系列课程

实践性环节实验报告本

课程名称 数据结构 实验学期 2010.9 至 2011.7 学年 第 2 学期 年级 二年级 专业 通信工程 学生姓名 肖华新 学号 030409301756 指导教师 涂凤华 实验最终成绩

重庆大学计算机学院制

数据结构实验报告

实验一、单链表的插入和删除

一、目的

了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。Dfgfgdg ertgfh 二、要求:

建立一个数据域定义为字符串的单链表,在链表中不允许有重复的字符串;根据输入的字符串,先找到相应的结点,后删除之。 三、程序源代码 #include\#include\#include\#include\

typedef struct node //定义结点 {

char data[10]; //结点的数据域为字符串 struct node *next; //结点的指针域 }ListNode;

typedef ListNode * LinkList; // 自定义LinkList单链表类型 LinkList CreatListR1(); //函数,用尾插入法建立带头结点的单链表

ListNode *LocateNode(); //函数,按值查找结点 void DeleteList(); //函数,删除指定值的结点

2

数据结构实验报告

void printlist(); //函数,打印链表中的所有值 void DeleteAll(); //函数,删除所有结点,释放内存 //==========主函数============== void main() {

char ch[10],num[10]; LinkList head;

head=CreatListR1(); //用尾插入法建立单链表,返回头指针 printlist(head); //遍历链表输出其值

printf(\Delete node (y/n):\输入“y”或“n”去选择是否

删除结点

scanf(\

if(strcmp(num,\ printf(\

scanf(\ //输入要删除的字符串 DeleteList(head,ch); printlist(head); }

DeleteAll(head); //删除所有结点,释放内存 }

//==========用尾插入法建立带头结点的单链表=========== LinkList CreatListR1(void)

3

数据结构实验报告

{

char ch[10];

LinkList head=(LinkList)malloc(sizeof(ListNode)); //生成头结点

ListNode *s,*r,*pp; r=head; r->next=NULL;

printf(\输入“#”代表输入结束 printf(\

scanf(\输入各结点的字符串 while(strcmp(ch,\

pp=LocateNode(head,ch); //按值查找结点,返回结点指针 if(pp==NULL) { //没有重复的字符串,插入到链表中 s=(ListNode *)malloc(sizeof(ListNode)); strcpy(s->data,ch); r->next=s; r=s;

r->next=NULL; }

printf(\ printf(\ scanf(\

4

搜索更多关于: 单链表的初始化插入和删除实验报告 的文档
单链表的初始化插入和删除实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8urm51h0b51is5307336_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top