[华为机试练习题]49.向升序单向链表中插入一个节点
来源:互联网 发布:flash编程语言 编辑:程序博客网 时间:2024/05/22 18:10
题目
描述:
输入一个升序单向链表和一个链表节点,向单向链表中按升序插入这个节点。输入为空指针的情况视为异常,另外不考虑节点值相等的情况。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};详细描述:
接口说明
原型:
ListNode* InsertNodeToList(ListNode* pListHead, ListNode* pInsertNode);
输入参数:
ListNode* pListHead 单向链表 ListNode* pInsertNode 新插入节点
输出参数(指针指向的内存区域保证有效):
ListNode* pListHead 单向链表
返回值:
正常插入节点返回链表头指针,其它异常返回空指针
练习阶段:
初级
代码
/*---------------------------------------* 日期:2015-07-04* 作者:SJF0115* 题目:向升序单向链表中插入一个节点 * 来源:华为机试练习题-----------------------------------------*/#include <iostream>#include "OJ.h"using namespace std;/*功能: 输入一个升序单向链表和一个链表节点,向单向链表中按升序插入这个节点 输入为空指针的情况视为异常,另外不考虑节点值相等的情况。输入: ListNode* pListHead 单向链表 ListNode* pInsertNode 新插入节点输出: ListNode* pListHead 单向链表返回: 正常插入节点返回链表头指针,其它异常返回空指针*/ListNode* InsertNodeToList(ListNode* pListHead, ListNode* pInsertNode){ if(pListHead == NULL || pInsertNode == NULL){ return NULL; }//if // 添加头结点 ListNode* dummy = new ListNode(); dummy->m_pNext = pListHead; ListNode* p = pListHead; ListNode* pre = dummy; while(p){ // 插入 if(p->m_nKey > pInsertNode->m_nKey){ break; }//if pre = p; p = p->m_pNext; }//while // 插入 pInsertNode->m_pNext = p; pre->m_pNext = pInsertNode; return dummy->m_pNext;}
0 0
- [华为机试练习题]49.向升序单向链表中插入一个节点
- 华为机试题:向升序单向链表中插入一个节点
- 华为OJ 向升序单向链表中插入一个节点
- 向升序单向链表中插入一个节点
- 向升序单向链表中插入一个节点
- 向升序单向链表中插入一个节点
- 求助 向升序单向链表中插入一个节点 求教程序中哪里错了?
- 向有序循环单向链表中插入节点
- 向升序排列的单链表中插入一个值,要求插入后仍为升序链表
- 单向链表中,如何在给定节点前快速插入一个节点?
- 单向链表中,如何在给定节点前快速插入一个节点?
- [华为机试练习题]24.删除链表中的重复节点、剩余节点逆序输出
- 华为OJ:从单向链表中删除指定值的节点
- 华为oj 从单向链表中删除指定值的节点
- 华为OJ从单向链表中删除指定值的节点
- 华为机试练习题汇总
- 华为机试在线练习题
- 向XML插入节点
- 关于HashMap的读取顺序
- 阿里云 RDS SDK python3支持
- java深入解析-第2章 运算符与表达式
- 查看某个php函数的简单方法
- 霓歌即时通讯中的相关专利整理(一)
- [华为机试练习题]49.向升序单向链表中插入一个节点
- kuangbin带你飞 专题五 并查集
- ExMobi文档
- php中or的使用
- Drools入门-----------环境搭建,分析Helloworld
- linux解压文件
- Hibernate笔记总结整理
- dataguard中的gap及修复方式(增量备份方式/手工传送注册方式)
- SD卡热插拔