题解 十
马上就要去上数学课了,写篇题解走人!
题目名称:链表合并
题目来源:江西理工大学OJ
题目地址:http://oj.jxust.edu.cn/problems/1067
题目描述
已有a、b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列。
输入
第一行,a、b两个链表元素的数量N、M,用空格隔开。接下来N行是a的数据然后M行是b的数据每行数据由学号和成绩两部分组成
输出
按照学号升序排列的数据
样例输入
2 3
5 100
6 89
3 82
4 95
2 10
样例输出
2 10
3 82
4 95
5 100
6 89
这个题目的话呢,意义在于考察我们对数据结构链表的使用,但是我作为一个萌新还没有学,所以我采用了另外两种方法来解决,而且更简单。
方法一:定义两个数组,让两个数组互相之间以下标联系起来,就可以达到题目所需效果;
方法二:定义一个结构体,其他的和方法一类似。
上代码!!(方法一)
#include <iostream>
using namespace std;
int main()
{
int a[10000], b[10000];//定义两个以下标联系的数组
int n, m;
cin >> n >> m;
int t = m + n;//直接把两个数视作一个数,灵活一些
for (int i = 0; i < t;