YTU 问题 B: 合并链表(线性表)

YTU 问题 B: 合并链表(线性表)_第1张图片

STL大法好啊STL大法好!

C++ STL库中提供了以下链表函数:

1. list::push_back() - 在链表末尾插入元素
2. list::push_front() - 在链表开头插入元素
3. list::pop_back() - 删除链表末尾元素
4. list::pop_front() - 删除链表开头元素
5. list::front() - 访问链表开头元素
6. list::back() - 访问链表末尾元素
7. list::empty() - 判断链表是否为空
8. list::size() - 返回链表中元素个数
9. list::remove() - 删除链表中某个元素
10. list::erase() - 删除链表中某个位置的元素
11. list::insert() - 在链表中某个位置插入元素
12. list::sort() - 对链表进行排序
13. list::reverse() - 反转链表中元素的顺序

无需多言

#include
using namespace std;
int n,m;
bool compare(int a,int b){
	return a>=b;
}

int main()
{
	cin>>n;
	list<int> a;
	list<int> b;
	for(int i=0;i<n;i++){
		int x=0;
		cin>>x;
		a.push_back(x);
	}
	cin>>m;
	for(int i=0;i<m;i++)
	{
		int x=0;
		cin>>x;
		b.push_back(x);
	}
	a.merge(b);
	a.sort(compare);
	for(int i=0;i<n+m;i++)
	{
		cout<<a.front()<<" ";
		a.pop_front();
	}
	return 0;
}

你可能感兴趣的:(链表,数据结构)