链表的建立插入删除输出全.doc

链表的建立插入删除输出全.doc

ID:59501904

大小:57.00 KB

页数:11页

时间:2020-11-03

链表的建立插入删除输出全.doc_第1页
链表的建立插入删除输出全.doc_第2页
链表的建立插入删除输出全.doc_第3页
链表的建立插入删除输出全.doc_第4页
链表的建立插入删除输出全.doc_第5页
资源描述:

《链表的建立插入删除输出全.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/*-----------------------------------------------------------------------------时间:2011年9月28日文件功能:实现了动态建立一个学生信息的链表包括链表的创建、插入、删除、和打印输出学生信息包括姓名和分数本链表是带有头结点的,头结点的内容为空内容-----------------------------------------------------------------------------*//*-------------------------包含头文件----------

2、--------------------------*/#include#include#include#include/*-------------------------结构体定义部分------------------------------*/structNode{ charname[10]; intscore; structNode*next;};typedefstructNodeListNode;/*----------------------------函数声明部分----

3、--------------------------*//*---------------------------函数实现部分-------------------------------*//*-----------------------------创建链表---------------------------------*//*在链表的末端插入新的节点,建立链表*/ListNode*CreateList(intn){ ListNode*head;//指向头结点指针 ListNode*p,*pre; inti; head=(ListNode*)malloc(s

4、izeof(ListNode));//为头节点分配内存空间 head->next=NULL;//将头结点的指针域清空 pre=head;//先将头结点首地址赋给中间变量pre for(i=1;i<=n;i++)//通过for循环不断加入新的结点  {   printf("inputnameofthe%dstudent:",i);//打印出第几个人的名字   p=(ListNode*)malloc(sizeof(ListNode));//为要插入的节点分配   //内存空间p指向新插入结点的首地址   scanf("%s",&p->name);//输入姓名   pr

5、intf("inputscoreofthe%dstudent:",i);   scanf("%d",&p->score);//输入分数   pre->next=p;//将p指向新结点插入链表也就是头结点指针域指向   //下个结点   //第一个结点就是p指向的,因为头结点内容为空   pre=p;//这个起着指向下一个结点的作用  } p->next=NULL;//最后将最后一个结点的指针域清空了 returnhead;//返回这个链表的首地址}/*-------------------------输出链表----------------------------

6、-------*/voidPrintList(ListNode*h){ ListNode*p; p=h->next; while(p)  {   printf("%s,%d",p->name,p->score);   p=p->next;   printf("");  }}/*----------------------插入链表结点--------------------------*//*--------------------------------------------------------------------函数名称:InsertList(Li

7、stNode*h,inti,charname[],inte,intn)函数功能:插入链表结点入口参数:h:头结点地址i:插入到第几个结点name:插入结点的姓名e:插入结点的分数n:链表中结点的个数除下头结点外的个数出口参数:--------------------------------------------------------------------*/voidInsertList(ListNode*h,inti,charname[],inte,intn){ ListNode*q,*p;//先定义2个指向一个结点的指针 intj; if(i<1

8、

9、i>n

10、+1)  

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

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

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