语言程序设计__链表操作

语言程序设计__链表操作

ID:34042881

大小:57.71 KB

页数:14页

时间:2019-03-03

语言程序设计__链表操作_第1页
语言程序设计__链表操作_第2页
语言程序设计__链表操作_第3页
语言程序设计__链表操作_第4页
语言程序设计__链表操作_第5页
资源描述:

《语言程序设计__链表操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.C语言程序综合设计实验报告姓名专业班级指导教师2013年6月18日...目录目录2一试验目的和要求31.实验目的32.实验要求3二运行环境3三实验内容31.程序的逻辑框图32.使用说明33.设计说明3<1>初始化函数3<2>求表长3<3>按序号查找元素3<4>删除元素3<5>插入元素3<6>按值查找元素3四实验数据和结果分析31.实验数据32.结果分析3五心得体会3...一试验目的和要求1.实验目的1.巩固和加深学生对C语言课程的基本知识的理解和掌握2.掌握C语言编程和程序调试的基本技能3.利

2、用C语言进行基本的软件设计4.掌握书写程序设计说明文档的能力5.提高运用C语言解决实际问题的能力2.实验要求1.实验题目的要求2.写出详细设计说明3.编写程序代码,调试程序使其能正确运行4.设计完成的软件要便于操作和使用5.设计完成后提交报告二运行环境本程序可以在Windows环境下运行,可以用VC++6.0执行三实验内容...1.程序的逻辑框图窗口初始化输入数据输出表长选择功能功能判断根据所选功能执行相应操作结束相应的函数调用2.使用说明先输入要输入数据的个数,然后依次的输入数据。程序会自动计

3、算生成表长,然后弹出功能选择框,选择相应的功能即可完成操作。3.设计说明应用顺序表的链式存储结构。主要功能为输入输出数据,删除数据,插入数据,按值查找数据,按序号查找数据。...<1>初始化函数说明一个变量head为linklist类型;调用malloc(sizeof(lnode)从而得到一个类型为node的结点,并将该结点的链域置为null。<2>求表长说明一个与head同类型的(指针型)变量p作为“指点”工具,在设计一个整型变量i作为计数器,初始时,置p指向头结点,应继续往下“点数”。“点数

4、”可通过以下两操作实现,一个是p“后移”操作p=p->next;另一个是i值加一操作,这相当于“报数”。当p->next==NULL时说明*p是尾结点,“点数”完毕且这时i值正好是表长。<3>按序号查找元素在链表中从头指针出发,顺链域next逐个往下搜索,直到找到第i个结点为止,容易看出,此运算区别在于不是从头结点一直数到尾结点,而是数到第i个结点(存在第i个结点的话)。在算法执行过程中,变量j的值始终是p所指结点的序号(初始值p指头结点,j=0,可认为头结点的序号为0),故只需在每次执行“p后

5、移”操作之前增加一个判断“j删除元素将p所指结点*p的链域p->next改为指向待删结点。*p的后继结点,该操作可以通过将带删结点*p的链域p->next的值传给结点*p的链域p->next完成;p->next=p->next。<5>插入元素将结点*q的链域指向结点*p的后继结点;将结点*p的链域p->next改为指向新结点。<6>按值查找元素按值查找即定位,按从前往后的顺序,依次比较链表中各表结点数据域的值与给定值x第一

6、个值与x相等的表结点序号就是运算结果,若没有这样的结点,运算结果为0....四实验数据和结果分析#include#include#defineLENsizeof(structstudent)structstudent{longnum;floatscore;structstudent*next;};intn;intmain(){structstudent*creat();//函数声明structstudent*del(student*,long);//函数声明

7、structstudent*insert(student*,student*);//函数声明voidprint(student*);//函数声明structstudent*find(student*,long);//函数声明structstudent*head,*stu;longdel_num,fin_num;printf("******该链表能实现输入,删除、插入、输出这几个简单的功能******");printf("***下面让我们按照提示来一步一步的完成这个比较有意思的操作吧***

8、");printf("inputrecords:");//提示输入head=creat();//建立链表,返回头指针...print(head);//输出全部结点printf("inputthedeletenumber:");//提示用户输入要删除的结点scanf("%ld",&del_num);//输入要删除的学号while(del_num!=0)//当输入的学号为0时结束循环{head=del(head,del_num);//删除结点后返回链表的头地址print(head);//输出

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。