将两个有序链表融合成一个有序链表
来源:互联网 发布:linux命令配置ip地址 编辑:程序博客网 时间:2024/05/22 00:28
已知两个有序链表,将两个有序链表融合成一个有序链表的实现方法:
#include <iostream>using namespace std;typedef struct _listNode{int data;struct _listNode *next;}listNode;void printList(listNode *plist){if(plist == NULL)return;listNode *tlist = plist;while(tlist != NULL){cout << tlist->data << "\t";tlist = tlist->next;}cout << endl;}listNode *listNodeMerge(listNode *p1ist1, listNode *p1ist2){listNode *p1 = p1ist1;listNode *p2 = p1ist2;listNode *pcurr = NULL;listNode *pHead = NULL;listNode *pt = NULL;//先判断链表是否为空if(p1 == NULL && p2 != NULL)return p2;else if(p1 != NULL && p2 == NULL)return p1;else if(p1 == NULL && p2 == NULL)return NULL;//首先选择一个头节点if(p1->data < p2->data){pHead = p1;p1 = p1->next;}else{pHead = p2;p2 = p2->next;}pcurr = pHead; //辅助指针while(p1 != NULL && p2 != NULL){if(p1->data < p2->data){pt = p1;p1 = p1->next;}else{pt = p2;p2 = p2->next;}pcurr->next = pt;pcurr = pcurr->next;}if(p1 != NULL) //其中有一个链表已经指向NULL,而另一个还没有指向NULLpcurr->next = p1;elsepcurr->next = p2;return pHead;}int main(){//为方便先定义两个有序链表,也可用new(malloc)的方式生成链表listNode n1,n3,n5;listNode n2,n4,n6,n7;n1.data = 1, n1.next = &n3;n3.data = 2, n3.next = &n5;n5.data = 3, n5.next = NULL;n2.data = 0, n2.next = &n4;n4.data = 4, n4.next = &n6;n6.data = 6, n6.next = &n7;n7.data = 9, n7.next = NULL;listNode *p1 = &n1;listNode *p2 = &n2;//打印该链表cout << "list1:\n";printList(p1);cout << "list2:\n";printList(p2);//打印融合后的链表cout << "After merge list:\n";listNode *pnew = listNodeMerge(p1, p2);printList(pnew);return 0;}
阅读全文
0 0
- 将两个有序链表融合成一个有序链表
- 将两个有序链表合成一个有序链表
- Java将两个有序链表合并为一个有序链表、将两个有序数组合并成一个有序数组
- 将两个有序链表合并成一个有序链表
- 将两个有序链表合并成一个有序链表
- 将两个有序链表合并成一个有序链表
- 将两个有序链表合并成一个有序链表
- 将两个有序链表合并成一个有序链表
- 将两个有序链表合并成一个有序链表
- 如何将两个有序链表合并成一个有序链表。
- 将两个单向有序链表合并成一个单向有序链表
- 将两个有序链表合并成一个新的有序链表
- 将两个有序的单向链表整合成一个有序单向链表
- 将两个有序链表合并成一个有序链表
- 两个有序链表合并成一个有序链表
- 将两个有序链表合并为一个有序链表
- 将两个有序链表并为一个有序链表
- 将两个有序链表和为另外一个链表,并保证有序
- hdu 6216 A Cubic number and A Cubic Number
- Nginx优化图解
- solr(一)安装与基本使用
- HDU 6215 Brute Force Sorting
- YII框架第三方微博登录
- 将两个有序链表融合成一个有序链表
- 结构体的初始化问题
- 2017年9月17日 Ubuntu14.04安装&修复日志
- [洛谷 2483]\[codevs 1835] 魔法猪学院---K短路
- 学习 JavaScript:阻碍你进步的 9 个常见错误
- java编写遇到的常见错误解决方法
- 子树
- 建堆
- 42.Scala中泛型类、泛型函数、泛型在Spark中的广泛应用