C++数据结构---链表---插入操作
来源:互联网 发布:mysql字符串长度 编辑:程序博客网 时间:2024/05/20 16:42
插入操作:
- 首先创建一个新的单元x,其中有:前驱节点,值,后继节点。
- 插入时分为两种情况,第一种为插入到某单元的前面,第二种为插入到某单元的后面。
第一种情况(插入到某单元的前面):
找到新的单元的待插入位置后,将这个位置上的单元p的前一个单元q的后继节点链接到x上,然后将p的前驱节点链接到x上,即可完成插入
操作。
C++模板代码如下:
template <typename T>ListNodePosi(T) List<T>::insertAsPred(T const& _Val){ ListNodePosi(T) x = new LideNode(_Val, pred, succ); pred->succ = x; pred = x; //这里的顺序不能变。因为如果将this节点的前驱给了x(即pred=x),那么再执行pred->succ = x时,pred->succ指向的就是this本身,this=x,显然错误!! return x;}
第二种情况(插入到某单元的后面):
首先找到新的单元的待插入位置后,将这个位置上的单元p的后一个单元q的前驱节点链接到x上,然后将p的后继节点链接到x上,即可完成插入操作。
C++模板代码如下:
template <typename T>ListNodePosi(T) List<T>::insertAsSucc(T const& _Val){ ListNodePosi(T) y = new LideNode(_Val, pred, succ); succ->pred = x; succ= x; return x;}
阅读全文
0 0
- C++数据结构---链表---插入操作
- 数据结构的插入操作
- 数据结构 单链表插入删除操作(c语言实现)
- 插入排序 --C数据结构
- C语言-数据结构-插入
- 数据结构-----红黑树的插入操作
- 【数据结构_链表_List_0952】单链表插入实践的操作
- 数据结构--插入排序(C语言)
- C语言数据结构插入算法
- C语言之数据结构的顺序单链表创建,插入和删除操作
- C数据结构 单链表操作
- 数据结构------二叉平衡树(一)插入操作
- 【数据结构】算法4.4 串插入操作
- 数据结构-----AVL树的插入删除操作
- 数据结构(C#)_排序算法(插入排序)
- 数据结构(C#)_排序算法(插入排序)
- 数据结构c语言版之直接插入排序
- 数据结构 C语言实现直接插入排序
- Linux性能监控工具sysstat系列:介绍与安装
- HTML5基础入门(笔记分享)
- JavaWeb学习
- 第九章 聚类
- atitit 项目管理 package 模块管理 包管理 依赖管理 maven attilax总结.docx
- C++数据结构---链表---插入操作
- 第四章:vue2中使用过滤器
- @RequestBody与@ResponseBody
- u-boot
- The Tower of Babylon UVA
- 笔记:ubuntu 14.04/16.04(linux)下离线批量安装依赖库,caffe,cuda8.0
- Python List 练习实践(一)
- SpringMVC表单标签简介
- 15. 3Sum