面试系列之三:C艹在双链表中插入结点
来源:互联网 发布:什么是绿色版软件 编辑:程序博客网 时间:2024/04/26 14:53
在一个升序的双向链表里插入一个NewNode:
//假设条件Struct Node{ Node *prior; Node *next; int *data;}Node *PCurrent, *PrevPC, *PHead, *NewNode;// 指针PHead 指向表头第一个元素if ( PHead == NULL ) { return (0); }PCurrent = PHead;while( PCurrent ){ if ( PCurrrent != PHead ) { PrevPC = PCurrent->prior; } if ( PCurrent->data >= NewNode->data ) { if ( PCurrent == PHead ) { //在表头元素前插入新Node PHead = NewNode; NewNode->prior = null; PCurrent->prior = NewNode; NewNode->next = PCurrent; } else { //不是在表头元素前插入新Node if ( PCurrent->next == null ) { //在最末尾插入 NewNode->next = null; PCurrent->next = NewNode; NewNode->prior = PCurrent; } else { //在中间插入 NewNode->prior = PrevPC; PrevPC->next = NewNode; NewNode->next = PCurrent; PCurrent->prior = NewNode; } return PHead; } } else { PCurrent = PCurrent->next; } }
0 0
- 面试系列之三:C艹在双链表中插入结点
- 数据结构之头结点链表的三种插入方式(头插法,尾插法,在pos处插入)
- C语言实现链表之单向链表(九)在任意位置插入结点
- C语言实现链表之双向链表(九)在任意位置插入结点
- 单链表之插入结点
- C语言实现链表之单向链表(五)头结点前插入结点
- C语言实现链表之单向链表(七)尾结点后插入结点
- C语言实现链表之双向链表(五)头结点前插入结点
- C语言实现链表之双向链表(七)尾结点后插入结点
- 面试笔试系列之三 字符串相关
- 在有序链表中插入结点
- 面试系列之二:C艹翻转双向链表
- 笔试面试单链表相关(2)在任意位置前插入结点、逆置链表
- 单链表之插入删除结点
- C/C++面试之算法系列
- 做好面试之c/c++系列---1
- 头结点链表的三种插入结点方式
- 在重庆结点前插入新结点天津
- 全局变量、静态全局变量、静态局部变量
- TreeMap源码解析
- 大半夜写个简单点的
- MySQL 5.7及以上解压缩版本配置安装
- 这个写完该去睡觉啦
- 面试系列之三:C艹在双链表中插入结点
- 三和韓長庚 著 易學原理總論 對讀 141-152
- Python爬虫利器requests详解
- For CImage Library using visual studio 2010
- LeetCode 300. Longest Increasing Subsequence(最长递增子序列)
- Android学习(25) -- 单元测试(JUnit Test)
- AltiumDesigner学习笔记
- LeetCode 202. Happy Number
- iOS autolayout 的基本使用(用代码添加约束)