您的位置:首页 > 其它

写正确函数需要注意的地方:两个非降序链表的并集,1>2>3和2>3>5合并为1>2>3>5。

2012-09-10 13:59 363 查看
int OutCombine(Node* p1, Node* p2)
{
while(p1!=NULL && p2!=NULL)
{
if(p1->value>p2->value)
{
cout<<p2->value<<" ";
p2=p2->pNext;
}
else if(p1->value<p2->value)
{
cout<<p1->value<<" ";
p1=p1->pNext;
}
else
{
cout<<p1->value<<" ";
p1=p1->pNext;
p2=p2->pNext;
}
}
if(p1!=NULL)//剩余的部分直接添加到末尾。
{
while(p1!=NULL)
{
cout<<p1->value<<" ";
p1=p1->pNext;
}
cout<<endl;
}
else if(p2!=NULL)
{
while(p2!=NULL)
{
cout<<p2->value<<" ";
p2=p2->pNext;
}
cout<<endl;
}
return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
srand(time(0));

int plength1=rand()%10;
int plength2=rand()%10;

Node* p1=NULL;
Node* p2=NULL;
int startvaluep1=0;
int startvaluep2=0;

for(int i=0;i<plength1;++i)
addEnd(startvaluep1=rand()%3+startvaluep1,p1);

for(int i=0;i<plength2;++i)
addEnd(startvaluep2=rand()%3+startvaluep2,p2);

print(p1);
print(p2);
OutCombine(p1,p2);

getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  null
相关文章推荐