基础——两个升序的链表合并(使用vector)

具体解释如下:

我使用了vector,代码如下

#include<iostream>
#include<vector>
using namespace std;

int main(void)
{
	vector<int>a, b,temp;
	int n, m;
	cin >> n >> m;
	a.resize(n);
	b.resize(m);
	temp.resize(m + n);
	for (int i = 0; i < n; i++)cin >> a[i];
	for (int i = 0; i < m; i++)cin >> b[i];
	int i=0, j=0,index=0;
	while (i < n&&j < m)
	{
		if (a[i] <= b[j])temp[index++] = a[i++];
		else temp[index++] = b[j++];
	}
	while (i < n)temp[index++] = a[i++];
	while(j<m)temp[index++] = b[j++];
	for (int i = 0; i < index; i++)cout << temp[i] << ' ';
	cout << endl;
	system("pause");
	return 0;
}

I/O示例:

发布了162 篇原创文章 · 获赞 38 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_41938259/article/details/104083652