-->
当前位置:首页 > 题库 > 正文内容

函数题:合并链表

Luz2年前 (2022-11-12)题库491
要求实现函数,将2个带头结点的有序单链表合并为一个有序单链表,要求不增加额外的结点,且合并后的单链表中不允许有重复的数据。

### 函数接口定义:
c++
void mergeList(LinkList &La, LinkList &Lb, LinkList &Lc);

其中引用参数 La、Lb是待合并的带头结点的有序链表,引用参数Lc是待返回的结果链表。链表的头指针为head,结点指针域为next,数据域为data。

### 裁判测试程序样例:
c++
#include<iostream>
using namespace std;

typedef int ElemType;

struct LNode {
ElemType data; // 数据域
LNode* next; // 指针域
};

struct LinkList {
LNode *head; // 头指针(带头结点)
void Create(int n); // 建立含n个结点的单链表
void Traverse(); // 遍历,并输出内容
};

void mergeList(LinkList La) ;

// 创建两个顺序链表,调用合并函数实现2个有序链表的合并,最后遍历结果链表输出各结点的数据域的值
int main() {
int n;
while(cin>>n) {
LinkList La, Lb, Lc;
La.Create(n);
Lb.Create(n);
mergeList(La, Lb, Lc);
Lc.Traverse();
}

return 0;
}


### 输入样例:

in
5
1 2 4 5 7
2 3 4 5 6


### 输出样例:

out
1 2 3 4 5 6 7









答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。