第12章-结构体与共同体new.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文档。上传文档
查看更多
链表的建立 若原链表为空表(head == NULL) ,则将新建节点p置为头节点 struct link *head = NULL; p = (struct link *)malloc(sizeof(struct link)); head (1)head = p data next p 新建节点 (2) pr = p ∧ pr (3) pr-next = NULL data next 新建节点 p 链表的建立 若原链表为非空,则将新建节点p添加到表尾 (1) pr-next = p (2) pr = p ∧ head data ∧ pr pr (3) pr-next = NULL next 链表的删除操作 若原链表为空表,则退出程序 若待删除节点p是头节点,则将head指向当前节点的下一个节点即可删除当前节点 data next (1) head = p-next head 待删除节点 data next p 头节点 (2) free(p) 链表的删除操作 若待删除节点不是头节点,则将前一节点的指针域指向当前节点的下一节点即可删除当前节点 (1) pr-next = p-next data next data next 待删除节点 data next p 中间节点 data next 若已搜索到表尾(p-next == NULL)仍未找到待删除节点,则显示“未找到” (2) free(p) pr 链表的插入操作 若原链表为空表,则将新节点p作为头节点,让head指向新节点p head 待插入节点 data ∧ p (1) head = p p = (struct link *)malloc(sizeof(struct link)); p-next = NULL; p-data = nodeData; 链表的插入操作 若原链表为非空,则按节点值(假设已按升序排序)的大小确定插入新节点的位置 若在头节点前插入新节点,则将新节点的指针域指向原链表的头节点,且让head指向新节点 head 待插入节点 data next p (2) head = p data next data next data ∧ (1) p-next = head data next 链表的插入操作 若在链表中间插入新节点,则将新节点的指针域指向下一节点且让前一节点的指针域指向新节点 待插入节点 data next p (2) pr-next = p data next data next data ∧ (1) p-next = pr-next pr data next 链表的插入操作 若在表尾插入新节点,则末节点指针域指向新节点 待插入节点 data next p (1) pr-next = p pr data ∧ 原末节点 next ∧ 链表的输出 遍历链表的所有节点 head data next data next data ∧ p p p p ∧ Questions and answers 具有相同具有相同性质和功能的东西构成的集合,通常归成一“类”。例如,“人”是类的概念,为了描述人的特点,有姓名、性别、年龄、身高、体重等特征,称为“属性”、人还有各种生活技能和工作性能,称为“方法”。类是抽象的,当属性赋予具体的值,方法有具体的内容时,才成为“对象”,如具体的张三、李四。对象是某类能动的实体。 if((p+j)-ave(p+j+1)-ave)// if((*(p+j)).ave(*(p+j+1)).ave//p[j].avep[j+1].ave p = (struct link *)malloc(sizeof(struct link)); /* 让p指向新建节点 */ if (head == NULL) /* 若原链表为空表,则将新建节点置为首节点 */ { head = p; } else /* 若原链表为非空,则将新建节点添加到表尾 */ { while (pr-next != NULL)/* 若未到表尾,则移动pr直到pr指向表尾 */ { pr = pr-next; /* 让pr指向下一个节点 */ } pr-next = p; /* 将新建节点添加到链表的末尾 */ } pr = p; if (nodeData == p-data) /* 若找到节点nodeData,则删除该节点 */ { if (p == head) /* 若待删除节点为首节点,则让head指向第2个节点 */ {

文档评论(0)

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

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

1亿VIP精品文档

相关文档