L 线性表的操作 GetElem(L, i, e) 在单链表中的实现: 21 18 30 75 42 56 ∧ p p p j 1 2 3 因此,查找第 i 个数据元素的基本操作为:移动指针,比较 j 和 I 。 单链表是一种顺序存取的结构,为找第 i 个数据元素,必须先找到第 i-1 个数据元素。 令指针 p 始终指向线性表中第 j 个数据元素。 Status GetElem_L(LinkList L, int i, ElemType e) { // L是带头结点的链表的头指针,以 e 返回第 i 个元素 } // GetElem_L 算法时间复杂度为: O(ListLength(L)) p = L-next; j = 1; // p指向第一个结点,j为计数器 while (p ji) { p = p-next; ++j; } // 顺指针向后查找,直到 p 指向第 i 个元素 // 或 p 为空 if ( !p || ji ) return ERROR; // 第 i 个元素不存在 e = p-data; // 取得第 i 个元素 return OK; ai-1 线性表的操作 ListInsert(L, i, e) 在单链表中的实现: 有序对 ai-1, ai 改变为 ai-1, e 和e, ai e ai ai-1 因此,在单链表中第 i 个结点之前进行插入的基本操作为: 找到线性表中第i-1个结点,然后修改其指向后继的指针。 可见,在链表中插入结点只需要修改指针。但同时,若要在第 i 个结点之前插入元素,修改的是第 i-1 个结点的指针。 Status ListInsert_L(LinkList L, int i, ElemType e) { // L 为带头结点的单链表的头指针,本算法 // 在链表中第i 个结点之前插入新的元素 e } // LinstInsert_L 算法的时间复杂度为: O(ListLength(L)) …… p = L; j = 0; while (p j i-1) { p = p-next; ++j; } // 寻找第 i-1 个结点 if (!p || j i-1) return ERROR; // i 大于表长或者小于1 s = (LinkList) malloc ( sizeof (LNode)); // 生成新结点 s-data = e; s-next = p-next; p-next = s; // 插入 return OK; e ai-1 ai ai-1 s p 线性表的操作ListDelete (L, i, e)在链表中的实现: 有序对ai-1, ai 和 ai, ai+1 改变为 ai-1, ai+1 ai-1 ai ai+1 ai-1 在单链表中删除第 i 个结点的基本操作为:找到线性表中第i-1个结点,修改其指向后继的指针。 ai-1 ai ai+1 ai-1 q = p-next; p-next = q-next; e = q-data; free(q); p q Status ListDelete_L(LinkList L, int i, ElemType e) { // 删除以 L 为头指针(带头结点)的单链表中第 i 个结点 } // ListDelete_L 算法的时间复杂度为: O(ListLength(L)) p = L; j = 0; while (p-next j i-1) { p = p-next; ++j; } // 寻找第 i 个结点,并令 p 指向其前趋 if (!(p-next) || j i-1) return ERROR; // 删除位置不合理 q = p-next; p-next = q-next; // 删除并释放结点 e = q-data; free(q); return OK; 操作 ClearList(L) 在链表中的实现: void ClearList(L) { // 将单链表重新置为一个空表 while (L-next) { p=L-next;
您可能关注的文档
- 安徽工程大学 微型单片计算机和接口技术 第二章.ppt
- 0905020安志强开题报告.doc
- 20121011-张祥云-阅读教学和高考检测面面观.ppt
- 20121101普通水文气象学期中试卷.doc
- 20130317高二物理电路分析和闭合电路欧姆定律(张老师).ppt
- 20131202-中级职业技能鉴定实作考核002--导线测量.doc
- 777777777讲课用的《高考语文论述类文本阅读》1.ppt
- 1110011001塘沽一中为陕西儿童捐书名.doc
- 080502050120-方竹林-文献综述.doc
- -120老泵房自动化改造.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)