设为首页 加入收藏

TOP

关于约瑟夫循环使用单链表的问题(二)
2018-11-08 18:08:53 】 浏览:240
Tags:关于 约瑟夫 循环 使用 单链表 问题
p; int s=1,i;
    ListNode *p,*q;      //p,q两个结点指针,用于删除人员
    p=head;
    q=p->next;
    for(i=1;i<k;i++)
    {
        p=q;
        q=q->next;
    }
    while(p->next!=p)
 {
  for(i=1;i<m-1;i++) //数到m-1的人
  {
   p=q;
   q=q->next;
  }
  cout<<"剔除第"<<s++<<"位人员:";   //先输出的s,然后s++。
  cout<<p->next->data<<" "<<endl;
  p->next=q->next; //报数为m的人剔除
  delete  q;      //释放q,q指向的结点被删除
  //free(q);
  p=p->next;   //p指向下一个结点,重新开始报数
  q=p->next;
 }
    cout<<endl<<"最后一位人为"<<p->data<<endl;
}
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++雾中风景番外篇3:GDB与Valgri.. 下一篇顺序结构栈与队列之货物货架管理

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目