- 3
- 0
- 约1.83万字
- 约 67页
- 2017-10-02 发布于广东
- 举报
清华严蔚敏-数据结构(第1-2章)
四、删除运算 删除运算是将表的第i个结点删去。因为在单链表中结点ai的存储地址是在其直接前趋结点ai-1的指针域next中,所以我们必须首先找到ai-1的存储位置p。然后令p–next指向ai的直接后继结点,即把ai从链上摘下。最后释放结点ai的空间,将其归还给“存储池”。 算法2.10 void ListDelete_L(LinkList L, int i, ElemType e) { p=L;j=0; while (p-next ji-1) { p= p-next; ++j}; if(!(p-next)||ji-1) return ERROR; q = p-next; p-next = q-next; e = q–data;free( r ); return OK; } 设单链表的长度为n,则删去第i个结点仅当1≤i ≤ n时是合法的。注意,当i=n+1时,虽然被删结点不存在,但其前趋结点却存在,它是终端结点。因此被删结点的直接前趋*p存在并不意味着被删结点就一定存在,仅当*p存在(即p!=NULL)且*p不是终端结点(即p–next!=NULL)时,才能确定被删结点存在。显然此算法的时间复杂度也是O(n)。从上面的讨论可以看出,链表上实现插入和删除运算,无须移动结点,仅需修改指针。 五、合并运
您可能关注的文档
最近下载
- 风廓线雷达资料同化在中尺度数值预报中的应用研究.doc VIP
- 《辛亥革命与中华民的建立》.ppt VIP
- 《气象观测资料质量控制 风廓线雷达》征.docx VIP
- 大全高压电工安全培训课件.ppt VIP
- 大全高压电工安全培训课件.ppt VIP
- 一年级下册劳动《垃圾分类》PPT课件.pptx VIP
- 兰州大学各学院研究生会年度工作考核方案.doc VIP
- CNAS-CC01管理体系认证机构要求2025.docx VIP
- 2025年初中生物会考模拟试卷(含答案) .pdf VIP
- 专题09:说明文阅读-2023-2024学年 六年级语文上学期期末复习题型专练 解析版(统编版).docx VIP
原创力文档

文档评论(0)