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

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

ID:62016280

大小:69.00 KB

页数:11页

时间:2021-04-12

链表的建立-插入-删除-输出。。。全。。。.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;};typedefstruc

3、tNodeListNode;/*----------------------------函数声明部分------------------------------*//*---------------------------函数实现部分-------------------------------*//*-----------------------------创建链表---------------------------------*//*在链表的末端插入新的节点,建立链表*/ListNode*CreateLi

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

5、   p=(ListNode*)malloc(sizeof(ListNode));//为要插入的节点分配   //内存空间p指向新插入结点的首地址   scanf("%s",&p->name);//输入姓名   printf("inputscoreofthe%dstudent:",i);   scanf("%d",&p->score);//输入分数   pre->next=p;//将p指向新结点插入链表也就是头结点指针域指向   //下个结点   //第一个结点就是p指向的,因为头结点内容为空   pre=p;

6、//这个起着指向下一个结点的作用  } p->next=NULL;//最后将最后一个结点的指针域清空了 returnhead;//返回这个链表的首地址}/*-------------------------输出链表-----------------------------------*/voidPrintList(ListNode*h){ ListNode*p; p=h->next; while(p)  {   printf("%s,%d",p->name,p->score);   p=p->next;   p

7、rintf("");  }}/*----------------------插入链表结点--------------------------*//*--------------------------------------------------------------------函数名称:InsertList(ListNode*h,inti,charname[],inte,intn)函数功能:插入链表结点入口参数:h:头结点地址i:插入到第几个结点name:插入结点的姓名e:插入结点的分数n:链表中结点

8、的个数除下头结点外的个数出口参数:--------------------------------------------------------------------*/voidInsertList(ListNode*h,inti,charname[],inte,intn){ ListNode*q,*p;//先定义2个指向一个结点的指针 intj; if(i<1

9、

10、i>n+1)  

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

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

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