循环单链表合并
来源:互联网 发布:成都凶宅数据库查询 编辑:程序博客网 时间:2024/05/20 03:06
假设链表 p 和链表 q 中的结点值都是整数,且按结点值的递增次序链接起来的带表头结点的环形链表。各链表的表头结点的值为 max,且链表中其他结点的值都小于 max,在程序中取 max 为 9999。在各个链表中,每个结点的值各不相同,但链表 p 和链表 q 可能有值相同的结点(表头结点除外)。下面的程序将链表 q合并到链表 p 中,使得合并后的链表是按结点值递增次序链接起来的带表头结点的环形链表,且链表中各个结点的值各不相同。
#include <iostream>#include <cstdio>#include <stdlib.h>using namespace std;const int maxv = 9999;typedef struct LNode{ int data; struct LNode *link;}LNode, *CLinkList;void MergeList(CLinkList &p, CLinkList q) { LNode* r = p; LNode* s; LNode* q2 = q; //while (r->link->data != maxv && q->link->data != maxv) { while (r->link != p && q->link != q2) { while (r->link->data < q->link->data) r = r->link; if (r->link->data > q->link->data) { s = q->link; //删除表q中s指向的结点 q->link = s->link; s->link = r->link; //将s指向的结点插入表p r->link = s; r = r->link; //工作指针后移 } else { //两个结点的值相等时,不插入新结点,直接删除表q中的结点 r = r->link; s = q->link; q->link = s->link; free(s); } } free(q);}void CreateList (CLinkList &L, int n) { //CreatList 尾插法建立单链表LNode* p;LNode* r;L = (LNode*) malloc (sizeof(LNode));L->link = L;r = L;for (int i = 0; i < n; i ++) {p = (LNode*) malloc (sizeof(LNode));cin >> p->data;p->link = L;r->link = p;r = p;}cout << "Create a linked list successfully." << endl;}void PrintList (CLinkList L) { //PrintList 打印单链表LNode* p;p = L->link;while (p != L) {cout << p->data << " ";p = p->link;}cout << endl;}int main () { CLinkList p, q; CreateList(p, 5); CreateList(q, 10); MergeList(p, q); //system("PAUSE"); PrintList(p); return 0;}
0 0
- /*循环单链表合并操作
- 循环单链表的合并
- 循环单链表合并
- 循环单链表的合并
- 循环单链表的合并
- 合并两个循环单链表
- 数据结构之俩循环单链表合并
- 两个循环链合并
- 合并两个带尾指针的循环单链表
- vba misc 合并表、循环。
- 数据结构学习(四)——循环单链表的操作之合并
- 循环结构的互换与合并
- 实验5-5 循环的合并
- 一个循环合并两个有序数组
- 合并排序函数中的循环控制条件
- 子数组合并算法之向右循环
- 单向循环链表的合并图解
- 单向循环链表 初始化 合并
- How to solve “Dynamic Web Module 3.1 requires Java 1.7 or newer” in Eclipse
- 关于今天
- Hibernate4 新特性
- iOS开发UI高级—15UITabBarController生命周期(使用storyoard搭建)
- 面试考题之9.2:链表(C/C++版)
- 循环单链表合并
- iOS开发UI高级—16APP主流UI框架结构
- U盘安装Centos7
- IOS网络请求封装与下拉刷新上托加载更多
- Network Namespace
- uml精粹——11.活动图(及整个读书笔记分享)
- 高斯消元
- 线性表接口
- iOS开发UI高级—17Modal模态视图简单介绍