向升序单向链表中插入一个节点
来源:互联网 发布:jdbc mysql陶伟基 编辑:程序博客网 时间:2024/06/17 06:18
输入一个升序单向链表和一个链表节点,向单向链表中按升序插入这个节点。
输入为空指针的情况视为异常,另外不考虑节点值相等的情况。
链表结点定义如下:
struct ListNode
{
int m_nKey;
ListNode* m_pNext;
};
详细描述:
接口说明
原型:
ListNode* InsertNodeToList(ListNode* pListHead, ListNode* pInsertNode);
输入参数:
ListNode* pListHead 单向链表
ListNode* pInsertNode 新插入节点
输出参数(指针指向的内存区域保证有效):
ListNode* pListHead 单向链表
返回值:
正常插入节点返回链表头指针,其它异常返回空指针
代码如下:
#include "OJ.h"/*功能: 输入一个升序单向链表和一个链表节点,向单向链表中按升序插入这个节点。 输入为空指针的情况视为异常,另外不考虑节点值相等的情况。输入: ListNode* pListHead 单向链表 ListNode* pInsertNode 新插入节点 输出: ListNode* pListHead 单向链表返回: 正常插入节点返回链表头指针,其它异常返回空指针*/ListNode* InsertNodeToList(ListNode* pListHead, ListNode* pInsertNode){/*在这里实现功能*/if(pListHead == NULL || pInsertNode == NULL){return (ListNode*)NULL;}ListNode *tmp = pListHead,*t;if(pListHead->m_pNext == NULL){if(pListHead->m_nKey < pInsertNode->m_nKey){pListHead->m_pNext = pInsertNode;pInsertNode->m_pNext = (ListNode*)NULL;}else{t = pListHead;pListHead = pInsertNode;pInsertNode->m_pNext = t;}return pListHead;}while(tmp){if(tmp->m_nKey < pInsertNode->m_nKey){t = tmp->m_pNext;tmp->m_pNext = pInsertNode;pInsertNode->m_pNext = t;}tmp = tmp->m_pNext;}return pListHead;}
0 0
- 向升序单向链表中插入一个节点
- 向升序单向链表中插入一个节点
- 向升序单向链表中插入一个节点
- 华为OJ 向升序单向链表中插入一个节点
- 华为机试题:向升序单向链表中插入一个节点
- [华为机试练习题]49.向升序单向链表中插入一个节点
- 求助 向升序单向链表中插入一个节点 求教程序中哪里错了?
- 向有序循环单向链表中插入节点
- 向升序排列的单链表中插入一个值,要求插入后仍为升序链表
- 单向链表中,如何在给定节点前快速插入一个节点?
- 单向链表中,如何在给定节点前快速插入一个节点?
- 向XML插入节点
- 无序单向链表的插入排序(升序)
- 对一个存储学生信息的单向链表,按照学号升序对链表进行排序,每个节点包含了一个学生ID
- 单向链表插入新节点
- 移除单向链表中一个节点的代码进阶
- 向单链表中插入、删除节点
- 嵌入式 单向链表中节点链表化
- mysql导出csv打开乱码解决方法
- 学习分布式soa框架dubbo
- 同步SVN时,路径出现乱码的解决方法。
- vs2010工程属性配置--输出目录的配置
- 求最大连续子序列和4种算法解析
- 向升序单向链表中插入一个节点
- 静态链接库、动态链接库与COM组件的区别
- 关于freemarker的classic_compatible属性的使用场景和解决
- SQL SERVER数据库备份与恢复
- LeetCode-5 Longest Palindromic Substring(求最长回文子串)
- 管理activity屏幕触摸事件
- MQX的启动过程
- MVC模式和三层架构模式区别
- oracle直接执行程序块