最近再看一些华为笔试的题。自己写写
昨天写了一个简单的约瑟夫环的问题,竟然各种错误。。。。
.....
int i=M-1;
while (temp && temp->next != temp)
{
if(i)
{
i--;
temp = temp->next;
}
else
{
temp->next = temp->next->next;
cout<<temp->next->nData<<endl;
free temp->next;
temp = temp->next;
i = M-1;
}
if(temp)
{
cout<<temp->nData<<endl;
free temp;
L = NULL;
}
其中有一个错误:读取位置 0xdddddddd 时发生访问冲突。一开始没想明白,后来一看代码,申请内存用malloc,释放用delete,真对自己无语了