求大神帮忙看一下我这个简单的C++程序的思路错在哪里

2025-02-25 16:18:29
推荐回答(1个)
回答1:

while(list[k]=list[i]) 这一步list[k]被list[i]赋值,还有应该改成while(list[k]==list[i]&&ifor(i=k;i { if(list[k]!=list[i]) //无重复则交换
{ Swap(list[k],list[i]);
}
else //重复则一直使i自加,直至不重复,且本次循环不交换
{ while(list[k]==list[i]&&i i++;
}
Perm(k+1,m); //递归,排剩下的数
Swap(list[k],list[i-1]);
}