- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件技术基础上机实验报告(链表)软件技术基础上机实验报告(链表)
ex2:链表的插入与删除
1)首先创建一个单链表:从键盘读入五个整数,按输入顺序形成单链表。将创建好的链表元素依次输出到屏幕上。
2)在已创建好的链表中插入一个元素:从键盘读入元素值和插入位置,调用插入函数完成插入操作。然后将链表元素依次输出到屏幕上。
3)在已创建好的链表中删除一个元素:从键盘读入欲删除的元素位置(序号),调用删除函数完成删除操作。然后将链表元素依次输出到屏幕上。
4)从键盘任意输入一个整数,在单链表中查询该数,如果单链表中已经存在这个数,就调用删除函数,删除该元素所在结点,并将单链表在删除前后的数据元素依次输出到屏幕上;如果单链表中不存在这个数,就调用插入函数,将这个数插入到单链表尾,并将单链表在插入前后的数据元素依次输出到屏幕上
软件技术基础上机实验报告
姓名:肖燕平 学号:2011019090028
上机实验 二
Ex2_1(链表的创建和插入删除)
#includestdio.h
#include malloc.h
typedef struct node_type //定义链点
{
int data;
struct node_type *next;
}node_type;
typedef struct list_type //定义链表
{
node_type *head;
node_type *tail;
int length;
} list_type;
int read()
{
int x;
scanf(%d,x);
return x;
}
void error(int x)
{
switch(x)
{
case 1:
printf(\nthe place of the data is wrong ,please input the place again\n);
break;
}
}
void creat_list(list_type *lianbiao) //创建链表
{
node_type *p,*s; //注意此处的指针要为链点结构体类型
int x;
lianbiao-head=(node_type*)malloc(sizeof(node_type));
lianbiao-length=0;
p=lianbiao-head;
while(lianbiao-length5) //输入五个数
{
scanf(%d,x);
s=(node_type*)malloc(sizeof(node_type));
s-data=x;
p-next=s;
p=s; //在链点连接上出现了问题导致后面显示链表时也出问题
lianbiao-length++;
}
p-next=NULL;
lianbiao-tail=p;
}
void show_list(list_type *lianbiao) //把链表元素打印出来
{
node_type *p;
p=lianbiao-head-next;
printf(\nThe linked list is\n\n);
while(p!=NULL)
{
printf(%d ,p-data);
p=p-next; //p往下走一步
}
printf(\nThe length of this linked list is %d\n,lianbiao-length);
}
void insert_list(list_type *lianbiao,int newdata,int place)
{
node_type *newnode,*p;
int i=0;
newnode=(node_type*)malloc(sizeof(node_type));
newnode-data=newdata;
p=lianbiao-head;
while(lianbiao-length+1place||place1)//判断插入的位置是否正确
{
error(1);
place=read(); //位置错误则重新输入位置
}
while(iplace-1) //使p指针指向插入位置的前一个
{
p=p-next;
i++;
}
newnode-next=p-next; //插入链点
p-next=newnode;
if(newnode-next==NULL)
{
lianbiao-tail=newnode; //若插入的位置为表尾,则改变尾指针
}
lianbiao-leng
您可能关注的文档
- 超详细笔记本电脑维护知识超详细笔记本电脑维护知识.pdf
- 超详细的联想一键恢复工程师版安装方法及系统备份超详细的联想一键恢复工程师版安装方法及系统备份.pdf
- 超静定结构的实用计算方法与概念分析超静定结构的实用计算方法与概念分析.doc
- 超高压变电站内人体感应电流的计算超高压变电站内人体感应电流的计算.pdf
- 超级记忆法的基础(0-100数字记忆代码)超级记忆法的基础(0-100数字记忆代码).ppt
- 超长钻孔灌注桩桩侧摩阻力发挥特征分析超长钻孔灌注桩桩侧摩阻力发挥特征分析.pdf
- 越南土地法律制度探析越南土地法律制度探析.pdf
- 越剧发展的乡村视野_何恬越剧发展的乡村视野_何恬.pdf
- 越努力越幸运怎样培养严谨的思维?越努力越幸运怎样培养严谨的思维?.ppt
- 越剧表演人才以订单培养为主要形式的充要性分析越剧表演人才以订单培养为主要形式的充要性分析.doc
最近下载
- 黑臭河道整治工程施工组织设计.doc VIP
- 天一大联考海南省2025—2026学年高三学业水平诊断(一)政治(含答案).docx
- 坑塘治理施工方案.docx VIP
- 猪、牛、羊定点屠宰项目环评(新格式)环境影响报告表.pdf VIP
- 2025美国心脏协会和美国儿科学会新生儿复苏、儿童基础生命支持和儿童高级生命支持指南更新解读.pptx VIP
- 工程流体力学名词解释和简答题大全.docx
- 大众奥迪诊断系统ODIS7.21用户手册.pdf VIP
- 小学数学与科学跨学科课程融合人工智能的实践研究教学研究课题报告.docx
- 福建奔驰-威霆-产品使用说明书-威霆 2013款 3.0L-FA6523-威霆用户手册.pdf VIP
- 闭合导线计算表(自动计算).xls VIP
原创力文档


文档评论(0)