收藏 分享(赏)

实验三-单链表的基本操作.doc

上传人:weiwoduzun 文档编号:3266275 上传时间:2018-10-09 格式:DOC 页数:4 大小:135.50KB
下载 相关 举报
实验三-单链表的基本操作.doc_第1页
第1页 / 共4页
实验三-单链表的基本操作.doc_第2页
第2页 / 共4页
实验三-单链表的基本操作.doc_第3页
第3页 / 共4页
实验三-单链表的基本操作.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、实验三 单链表的基本操作一、实验目的1、掌握线性表的链式存贮结构及基本操作,深入了解链表的基本特性,以便在实际问题背景下灵活运用它们。2、巩固该存贮结构的构造方法,深入理解和灵活掌握链表的插入、删除等操作。二、实验要求1、定义一链表类型,并定义带有头结点的单链表。2、将教材中链表的建立、初始化、插入、删除等函数实现。3、链表能够存储 10 名学生的基本信息(包括姓名、学号和成绩) 。4、由主函数按照用户要求对各个链表操作访问。5、每操作之前要有明确的说明,操作后要输出操作结果。6、分析顺序表链表的插入、删除、查找的时间和空间复杂度。三、实验内容1、在自己的 U 盘的“姓名+学号”文件夹中创建“

2、 实验 3”文件夹,本次实验的所有程序和数据都要求存储到本文件夹中。2、完成链表操作的如下函数:单链表的建立、插入、删除#include#include static int N=5; typedef struct _sy char name12;int no;struct _sy *next;stud;stud *Create(int m) /创建链表 int i;stud *h,*p,*q; h=(stud*)malloc(sizeof(stud);if(h!=NULL) p=h;for(i=0;iname,q-next=NULL; p-next=q;p=q;printf(“n“);ret

3、urn(h);stud *Delete(stud *sy,int post) /删除一个学生的数据 int i;stud *cur,*pre;cur=sy;if(0=post) return(sy);else if(1=post) cur=cur-next;sy-next=cur-next;free(cur);else for(i=2;inext;pre=cur;cur=cur-next;pre-next=cur-next;free(cur);return(sy); stud *Insert(stud *sy,int post) /插入一个新的学生的数据 int i;stud *cur,*pr

4、e,*node;if(sy!=NULL) cur=sy;node=(stud*)malloc(sizeof(stud);if(node!=NULL) printf(“请输入新人的姓名和学号:n“);scanf(“%s%d“,node-name, if(1=post) node-next=sy-next;sy-next=node;else for(i=2;inext;node-next=pre-next;pre-next=node;printf(“n“);return(sy);void Print(stud *sy) /输出学生信息 int post=1;stud *cur;cur=sy-nex

5、t;printf(“当前的学生信息如下所示:n“);while(cur!=NULL) printf(“第%d 个人的姓名是:%s,学号为:%dn“,post,cur-name,cur-no);cur=cur-next;post+;N=-post;int main() int mm,post,i; stud *head;head=Create(N);Print(head);for(i=0;i1;i+) printf(“请输入要删除的学号的位置:n“);scanf(“%d“,Delete(head,mm);Print(head);printf(“请输入要插入学号的位置:n“);scanf(“%d“,Insert(head,post);Print(head); return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报