3个回答
展开全部
你是不是漏单位了?
没有单位的测量是毫无意义的
没有单位的测量是毫无意义的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
,细节看代码中的注释。
void startGame(int& m,int& n)
{
Node *head=new Node[m];
for(int i=0;i<m;i++){
head[i]=i+1;
// Node a=head[i];
head[i].next = head + i + 1; // <-- 指针的next要指向下一个元素
}
Node *tail=head+m-1;
tail->next =head;// <-- 最后一个指针(尾指针)的下一个执行头,才形成环
Node *cur=head;
Node *prev=NULL;
for(i=0;i<m-1;i++)
{
for(int j=0;j<n-1;j++)
{
prev=cur;
cur=cur->next;
}
cout<<"Delete person of number "<<cur->entry<<endl;
prev->next=cur->next;
//delete cur; <-- 不能释放一齐分配的内存中的一部分
cur=prev->next; // <-- 需要跳过那个出列的人
}
delete head; // <-- Node是整体分配的,也应该整体释放
}
void startGame(int& m,int& n)
{
Node *head=new Node[m];
for(int i=0;i<m;i++){
head[i]=i+1;
// Node a=head[i];
head[i].next = head + i + 1; // <-- 指针的next要指向下一个元素
}
Node *tail=head+m-1;
tail->next =head;// <-- 最后一个指针(尾指针)的下一个执行头,才形成环
Node *cur=head;
Node *prev=NULL;
for(i=0;i<m-1;i++)
{
for(int j=0;j<n-1;j++)
{
prev=cur;
cur=cur->next;
}
cout<<"Delete person of number "<<cur->entry<<endl;
prev->next=cur->next;
//delete cur; <-- 不能释放一齐分配的内存中的一部分
cur=prev->next; // <-- 需要跳过那个出列的人
}
delete head; // <-- Node是整体分配的,也应该整体释放
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询