mergelists.cpp

来自「将两个随机产生的链表连接,并按从小到大的顺序输出」· C++ 代码 · 共 51 行

CPP
51
字号
#include <iostream>
#include <list>
#include "d_random.h"
using namespace std;
template <typename T>
void mergelist(list<T>&L, list<T>&M)
{
	list<T> N;
    list<T>::iterator curr1=L.begin(),curr2=M.begin(),iter;
	while(curr2!=M.end())
	{
	   if(curr1!=L.end())
	   {
		   N.push_back(*curr1++);
	   }
	   N.push_back(*curr2++);
	}
	for(iter=N.begin();iter!=N.end();iter++)
		cout<<*iter<<" ";
}
void main()
{
    int i,j;
    ////list<int>::iterator iter1,iter2;
	randomNumber rnd;
	int m=rnd.random(5)+1;
    int n=m+rnd.random(6);
	int a[100000],b[100000];
	cout<<"list L is:  ";
	////for(iter1=intlistL.begin();iter1!=intlistL.end();iter1++)
		////cout<<*iter1<<" ";
	for(i=0;i<m;i++)
	{
		a[i]=rnd.random(100);
	    cout<<a[i]<<" ";
	}
	cout<<"\nlist M is:  ";
    ////for(iter2=intlistM.begin();iter2!=intlistM.end();iter2++)
		////cout<<*iter2<<" ";
	for(j=0;j<n;j++)
	{
		b[j]=rnd.random(100)+100;
	    cout<<b[j]<<" ";
	}
	list<int> intlistL(a,a+m);
	list<int> intlistM(b,b+n);
	cout<<"\nnew list is : ";
    mergelist(intlistL, intlistM);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?