第13讲链表 C语言课件.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13讲链表 C语言课件

第13讲 链表 链表概述(1) 所谓链表是指若干个数据项(每个数据项称为一个“结点”)按一定的原则连接起来。每个数据项都包含有若干个数据和一个指向下一个数据项的指针,依靠这些指针将所有的数据项连接成一个链表。 链表结构定义用结构体来实现。 链表概述(2) 内存动态管理函数 动态分配存储 根据需要开辟或释放存储单元 相关函数 malloc函数 free函数 说明 应包含stdlib.h malloc函数 函数原型 typedef unsigned size_t; void *malloc(size_t size); 参数 size:分配存储空间的字节数 返回值 若成功,返回指向分配区域起始地址的指针 若失败,返回NULL free函数 函数原型 void free(void *ptr); 参数 ptr:要释放的内存区地址 说明 释放prt指向的内存区 释放后的内存区能够分配给其他变量使用 链表的基本操作 链表的建立 从链尾到链头:新结点插入到链头 从链头到链尾:新结点插入到链尾 链表的插入操作 根据一定的条件,把新结点插入到指定位置 链表的删除操作 根据一定的条件,删除一个或多个结点 链表的输出操作 链表的查找操作 建立链表操作(从链尾到链头) 建立链表操作 (从链头到链尾) 链表的插入操作 链表的删除操作 链表的输出操作 链表的查找操作 两种链表的区别 带头结点的链表:p 第一个节点表示:p=head-next; 不带头结点的链表: 第一个节点表示:p=head; 2007年9月 1、以下程序的输出结果是_______________ # includestdio.h struct tt {int x; struct tt *y;} *p; struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a}; main( ) {int i; p=a; for (i=1;i=2;i++) {printf(“%d,”,p-x); p=p-y;} } 2008年9月 1. 假定已建立以下链表结构,且指针p 和q 已指向如图所示的结点: head data next ↑p ↑q 则以下选项中可将 q 所指结点从链表中删除并释放该结点的语句组是( )。 A)(*p).next=(*q).next; free(p); B)p=q-next; free(q); C)p=q; free(q); D)p-next=q-next; free(q); 2009年3月 以下程序把三个NODETYPE型的变量链接成一个简单的链表,并在while循环中输出链表结点数据域中的数据。请填空: #include stdio.h struct node{int data;struct node *next;}; typedef f struct node NODETYPE; main( {NODETYPE a,b,c,*h,*p; a.data=10;b.data=20;c.data=30;h=a; a,.next=b;b.next=c;c.next=‘\0’; p=h; while (p) {printf(“%d,”,p-data); ;} printf(“\n”); } 题盘(16道) 14-1;36-1(排序)48-3(求平均值);57-2;65-1;67-1逆置链表;77-2;79-1;79-2;81-3;88-1;90-1求和;91-1逆置;92-1插入;94-1删除;103-1; C语言程序设计 C语言程序设计 C语言程序设计 C语言程序设计 上一页 下一页 a1 a2 a3 ... an ^ head struct student data next ai struct student { char name[20]; long num; float score; struct student *next; }; struct student *head; 1620 head 李为 2004101 85 0586 数据项A 数据项C 刘娜 2004102 93 3818 数据项B 张三 2004125 95 0 1620 0586 3818 一个简单链表示例: head ai-1 ... ④ head = p; ② p = malloc(sizeof

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档