ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:34KB ,
资源ID:1709841      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1709841.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软基上机报告-链表(基础题).doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软基上机报告-链表(基础题).doc

1、ex2_1基本题1)首先创建一个单链表:从键盘读入五个整数,按输入顺序形成单链表。将创建好的链表元素依次输出到屏幕上。2)在已创建好的链表中插入一个元素:从键盘读入元素值和插入位置,调用插入函数完成插入操作。然后将链表元素依次输出到屏幕上。3)在已创建好的链表中删除一个元素:从键盘读入欲删除的元素位置(序号),调用删除函数完成删除操作。然后将链表元素依次输出到屏幕上。一、 程序流程说明1)创建一个单链表:从键盘读入五个整数,按输入顺序形成单链表。将创建好的链表元素依次输出到屏幕上。2)在已创建好的链表中插入一个元素:从键盘读入元素值和插入位置,调用插入函数完成插入操作。然后将链表元素依次输出到

2、屏幕上。(让插入位前一位的指针指向新增结点,新增结点指针指向插入位置原结点,同时length加一)3)在已创建好的链表中删除一个元素:从键盘读入欲删除的元素位置(序号),调用删除函数完成删除操作。然后将链表元素依次输出到屏幕上。(让插入位置前一结点指针指向下一结点,length减一,其余不变)二、程序代码#include#include#includetypedef struct Nodeint data;struct Node *link;node;typedef struct Listnode *head;node *tail;int length;list;void creat_list

3、(list *table)int x,i;node *temp;table-head=NULL;table-tail=NULL;for(i=5;i=1;i-)printf(请输入第%d个元素:,i);fflush(stdin);scanf(%d,&x);printf(n);temp=(node*)malloc(sizeof(node);temp-data=x;temp-link=NULL;temp-link=table-head;table-head=temp;table-length=5;node * create_node(int new_node)node * temp;temp = (

4、node*)malloc(sizeof(node);temp-data = new_node;temp-link = NULL;return temp;void get(list *table)int loc,x,i;node *temp;node *newnode;temp=table-head;printf(n请输入插入位置:);scanf(%d,&loc);printf(请输入插入元素:);scanf(%d,&x);if(loctable-length|loclength+;newnode=create_node(x);if(loc=3&loc=5)for(i=2;ilink;newno

5、de-link = temp-link; temp-link = newnode;if(loc=1)newnode-link=table-head;table-head=newnode;if(loc=2)temp=table-head;newnode-link = temp-link; temp-link = newnode;void show_list(list *table)int x,i;node *temp;printf(链表为:n);temp=table-head;for(i=1;i length;i+)x=temp-data;printf(%d ,x);temp=temp-link

6、;void delete_node(list *table)int loc,i;node *temp,*t;temp=table-head;printf(n请输入删除位置);scanf(%d,&loc);if(loctable-length)printf(删除出错);else table-length-;if(loc=1)temp=temp-link;table-head=temp;if(loc2&loclength)temp=table-head;for(i=2;ilink;t=temp-link;temp-link=t-link; if(loc=table-length)for(i=2;i

7、link; temp-link=NULL;if(loc=2)temp=table-head;t=temp-link;temp-link=t-link;void main()list table;creat_list(&table);show_list(&table);get(&table);show_list(&table);delete_node(&table);show_list(&table);三、测试数据* 输入:请输入第5个元素:23请输入第4个元素:6请输入第3个元素:1请输入第2个元素:0请输入第1个元素:45请输入插入位置:3请输入插入元素:12请输入删除位置1 应输出(上机前

8、自己分析的结果):链表为:45 0 1 6 23链表为:45 0 12 1 6 23链表为:0 12 1 6 23 四、上机时遇到的问题(可分为编译问题和逻辑问题)*问题现象: 运行超出范围 原因:i,j值选取出现问题; 解决办法:通过改变循环的值来实现正确解问题现象: 增加元素之后仍然只能输出五位值 原因:show_list函数输出五位,而非length位; 解决办法:改变show_list函数五、实际运行结果: 链表为:45 0 1 6 23链表为:45 0 12 1 6 23链表为:0 12 1 6 23 六 、小结 体会*:可以改变一下让输入不只五位,同时可以考虑实现增加或删除多个元素。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1