本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
问题地址:
http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/3329.html
Problem Description
已知顺序表 A 与 B 是两个有序的顺序表,其中存放的数据元素皆为普通整型,将 A 与 B 表归并为 C 表,要求 C 表包含了 A、B 表里所有元素,并且 C 表仍然保持有序。
Input
输入分为三行:
第一行输入 m、n(1<=m,n<=10000)的值,即为表 A、B 的元素个数;
第二行输入 m 个有序的整数,即为表 A 的每一个元素;
第三行输入 n 个有序的整数,即为表 B 的每一个元素;
Output
输出为一行,即将表 A、B 合并为表 C 后,依次输出表 C 所存放的元素。
简单分析
本题涉及对顺序表的应用,就顺便写一下个人对顺序表的理解。
“顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。”——维基百科 “顺序表” 条目
一个动态的顺序表的存储结构分为三部分:存储空间基址、当前长度、当前分配的存储容量。可以通过指针或下标的方式来访问存储空间中的数据。存储空间中的数据、在物理层面和逻辑层面具有相同的关系。
Show me the code
#include <bits/stdc++.h>
#define ElemType int
#define INIT_SIZE 10001
#define INCR_SIZE 40
using namespace std;
struct node