C++语言的:用迭代器定义的List类中的函数,怎样去实现两个已知有序链表L1和L2的交运算?在线等,很急
1个回答
展开全部
list<int> x,y,z;
list<int>::iterator iterx=x.begin(),itery=y.begin();
//假设x,y中元素从小到大排序,并且所有元素只出现一次
while(iterx!=x.end() && itery!=y.begin())
{
if(*iterx<*itery)iterx++;
else {
if(*iterx==*itery) {
z.push_back(*iterx);//追加相同元素
iterx++; //此时iterx往后移动
}
itery++; //无论如何itery都要加
}
}
list<int>::iterator iterx=x.begin(),itery=y.begin();
//假设x,y中元素从小到大排序,并且所有元素只出现一次
while(iterx!=x.end() && itery!=y.begin())
{
if(*iterx<*itery)iterx++;
else {
if(*iterx==*itery) {
z.push_back(*iterx);//追加相同元素
iterx++; //此时iterx往后移动
}
itery++; //无论如何itery都要加
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询