双向循环链表的搜索算法 搜索成功 搜索不成功 first first 31 31 48 48 15 15 57 57 搜索15 ? ? ? 搜索25 ? ? ? ? 双向循环链表的搜索算法 template class T DblNodeT *DblListT::Search ( T x , int d ) { //在双向循环链表中寻找其值等于x的结点。 DblNodeT *current = (d == 0)? first-lLink : first-rLink; //按d确定搜索方向 while ( current != first current-data != x ) current = (d == 0) ? current-lLink : current-rLink; if ( current != first ) return current; //搜索成功 else return NULL; //搜索失败 }; 双向循环链表的插入算法 (非空表) newNode-rLink = current-rLink; current-rLink = newNode; newNode-rLink-lLink = newNode; newNode-lLink = current; first first 31 48 15 后插入25 current newNode 31 48 25 15 current 双向循环链表的插入算法 (空表) first 后插入25 current newNode 25 first current newNode-rLink = current-rLink (newNode-rLink = first); current-rLink = newNode; newNode-rLink -lLink = newNode; ( first-lLink = newNode ) newNode-lLink = current; 双向循环链表的插入算法 template class T bool DblListT::Insert ( int i, T x, int d ) { //建立一个包含有值x的新结点, 并将其按 d 指定的 //方向插入到第i个结点之后。 DblNodeT *current = Locate(i, d); //按d指示方向查找第i个结点 if ( current == NULL ) return false; //插入失败 DblNodeT *newNd = new DblNodeT(x); if (d == 0) { //前驱方向:插在第i个结点左侧 newNd-lLink = current-lLink; //链入lLink链 current-lLink = newNd; newNd-lLink-rLink = newNd; //链入rLink链 newNd-rLink = current; } else { //后继方向:插在第i个结点后面 newNd-rLink = current-rLink; //链入rLink链 current-rLink = newNd; newNd-rLink-lLink = newNd; //链入lLink链 newNd-lLink = current; } return true; //插入成功 }; 删除48 双向循环链表的删除算法 first first 非空表 31 48 15 current 31 15 current current-rLink-lLink = current-lLink; current-lLink-rLink = current-rLink; 双向循环链表的删除算法 template class T bool DblListT::Remove( int i, T x, int d ) { //在双向循环链表中按d所指方向删除第i个结点。 DblNodeT *current = Locate (i, d); if (current == NULL) return false; //删除失败 current-rLink-lLink = current-lLink; current-lLink-rLink = current-rL
您可能关注的文档
- 数据存储与共享.ppt
- 数据库6版讲稿第五章----高级SQL.ppt
- 数据库6版讲稿第六章----形式化关系查询语言.ppt
- 数据传输光缆项目.ppt
- Cowboy Culture(牛仔文化).pptx
- Copy of EHS Annual Trainning 2016.ppt
- 数据库ppt第1章2.ppt
- 数据备份、恢复和报表.ppt
- 数据库原理与应用试卷1.doc
- 数据库原理 实验六 数据库的备份与恢复new.doc
- 《GB/T 21561.1-2025轨道交通 机车车辆 受电弓特性和试验 第1部分:机车车辆受电弓》.pdf
- 《GB/T 6346.2301-2025电子设备用固定电容器 第23-1部分:空白详细规范表面安装金属化聚萘二甲酸乙二醇酯膜介质直流固定电容器 评定水平EZ》.pdf
- 2026年中国城市建设史复习题200道含答案(基础题).docx
- 2026年注册会计师(CPA)考试题库200道及1套参考答案.docx
- 60103交通事故案卷文书 标准 ga 40-2018.pdf.pdf
- 小升初衔接第一讲:基础词汇与句型综合梳理与运用(基于Starters 14).docx
- 四级公路设计关键要素教学课件.pptx
- Unit7SectionA2a-2e课件鲁教版英语六年级下册.pptx
- 初中地理八年级:探秘台湾省环境与经济协同发展.docx
- Unit2Success单元重点单词单句写作练习课件-北师大版高中英语选择性(1).pptx
原创力文档

文档评论(0)