- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
链表的建立 若原链表为空表(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个节点 */ {
您可能关注的文档
最近下载
- 商业秘密保护知识培训.ppt VIP
- 生态学全套配套课件第三版杨持第二章.ppt VIP
- 《向上管理 与你的领导相互成就》读书笔记思维导图.pptx VIP
- 钢结构工程维修施工方案.docx VIP
- 2023年武汉科技大学计算机科学与技术专业《计算机网络》科目期末试卷A(有答案).docx VIP
- 电信春节通信保障应急预案.docx VIP
- 女装设计 全套课件(上).pptx VIP
- 珠海市政府投资项目建设监督管理中心招考合同制职员考前自测高频考点模拟试题(共500题)含答案详解.docx VIP
- 体例格式9:工学一体化课程《小型网络安装与调试》任务4学习任务工作页.docx VIP
- 建筑节能工程监理质量评估报告.pdf VIP
文档评论(0)