数据结构和算法设计专题之---单链表中在指定的节点前面插入以及删除一个节点
来源:互联网 发布:焦大seo教程 编辑:程序博客网 时间:2024/05/17 22:31
题目:
在给定头结点的单链表中插入以及删除指定节点
这个题目我们遇到这个问题的时候可能会想这个该怎么解,我们知道如果在一个已知的节点之后添加和删除一个节点的话很容易的,那么如何在给定的节点之前插入一个节点以及删除指定节点?因为如果想删除和插入一个节点的话,肯定是需要获取前面的一个节点的,但是根据题目所给的条件中,我们可以看到我们是不可能获取到前面的一个节点的,所以得另外去想思路了,最后在编程之美中发现了这道题的解法,说实话,那真是很优雅的解决方案,而且很巧妙
1.在一个节点之前插入一个节点
思路如下:
假设我们想在节点P之前添加一个节点,如图所示:
那么我们可以这么做,将要插入的节点插入到节点P的后面,然后将节点P和节点Q的数据域进行交换,好一招偷龙转凤呀,
2.现在想删除节点P,我们也是没有P节点的前面的一个节点的,那么我们该怎么删除节点P呢?
思路如下:
我们可以将P节点后面的一个节点删除,然后将其中的数据域赋值到P节点中,这样就相当于P节点的删除了,也是使用的偷龙转凤技术
总结:
有时候想问题不能总是按照常规思路去想,解决这个问题最主要的技术:狸猫换太子
0 0
- 数据结构和算法设计专题之---单链表中在指定的节点前面插入以及删除一个节点
- 【算法之链表(三)】单链表中,在仅允许使用一个指针的情况下,在指定的节点前面插入以及删除一个节点
- 数据结构和算法设计专题之---判断单链表中是否有环,环的长度,环的入口节点
- 在单链表中删除指定值的节点
- 在单链表中删除指定值的节点
- 应用数据结构(一)线性表节点的插入和删除算法
- 无头单链表节点的删除以及新节点之前的插入
- 数据结构:单链表(二)之链表节点排序,升序插入数据,删除指定的所有节点,翻转链表操作
- 数据结构---单链表(建立,节点删除,节点插入)
- 数据结构---单链表(建立,节点删除,节点插入)
- 一个用Java实现的双向队列,可以分别在头尾插入和删除节点
- 数据结构——单链表的创建、删除、遍历以及节点的插入、删除等操作
- 在已有的子节点前插入/删除一个新的子节点
- 设计一个整型链表类list,能够实现链表节点的插入、删除、以及链表数据的输出操作。
- 实现双向链表删除一个节点P,在节点P后插入一个节点
- 数据结构示例之链表在指定节点后插入新元素
- 在无头单链表的一个节点前插入一个节点
- 链表问题---在单链表中删除指定值的节点
- 【Windows】线程漫谈——线程基础&线程栈
- RTEMS在S3C2440上的移植-(4)
- gem5 parsec2.1 Region of Interest explations
- 【java读书笔记】JSTL,快速精通
- Eclipse+Spring 环境搭建
- 数据结构和算法设计专题之---单链表中在指定的节点前面插入以及删除一个节点
- 技术贴:解码时AVC1和H264的区别
- 圈X之战 商业利益和用户利益孰轻孰重
- 分享一个下载免费电子书的好站
- 查看及修改Oracle编码格式方法
- 匡恩面试题
- 标准Lena测试图像下载
- 测试linux机器的硬件信息
- 数据库-oracle常用SQL语句整理(持续更新中)