关于用C++语言求两个顺序表并集的问题,求高手指教

voidadd()//赋值{intelemx[5]={2,12,15,20,17};for(inti=0;i<5;i++){elem[n]=elemx[i];n++;}}... void add() //赋值
{
int elemx[5]={2,12,15,20,17};
for(int i=0;i<5;i++)
{
elem[n]=elemx[i];
n++;
}
}
void bingji() //两个顺序表的并集
{
int elemb[6]={2,12,10,3,14,15};
for(int i=0;i<6;i++)
for(int j=0;j<5;j++)
{
if(elemb[i]!=elem[j])
{
for(int x=0;;x++)
elem[n+x]=elemb[i];
n++;
}
else
return;
}
这2个函数是我在类里面定义的成员函数。第一个是赋值给elem[]数组。第二个函数目的是,当elemb[]数组中的值与elem[]中的不相等是,把elemb[]中的值添加到elem[]数组的尾部,即实现数组的并集。但是编译出来不对,不知道是哪里的问题,麻烦指教一下。谢谢
展开
 我来答
kaixingui2012
2011-11-17 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6477万
展开全部
for(int i=0;i<5;i++)
{
elem[n]=elemx[i];
n++; //能看出你的elem和n是全局变量,一定要注意在主程序中,对n进行初值0的赋值!
}

问题:
for(int x=0;;x++) //这是个死循环,你的退出条件呢?
elem[n+x]=elemb[i];
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式