#include <bits/stdc++.h> using namespace std; // 引入标准库头文件

struct people { string name; struct people *next; }; // 定义人员结构体

int main() { // 创建11个人员 struct people p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11; // 为每个人员赋予名字 p1.name='赵'; p1.next=&p2; p2.name='钱'; p2.next=&p3; p3.name='孙'; p3.next=&p4; p4.name='李'; p4.next=&p5; p5.name='周'; p5.next=&p6; p6.name='吴'; p6.next=&p7; p7.name='郑'; p7.next=&p8; p8.name='王'; p8.next=&p9; p9.name='刘'; p9.next=&p10; p10.name='关'; p10.next=&p11; p11.name='张'; p11.next=&p1; // 将人员连成环形链表

struct people *p=&p1,*pre=&p11;
// 初始化指针p和pre,指向第一个人员和最后一个人员

int outNum=0,count=0;
// 初始化出局人数和计数器

while(outNum<11)
{
    count++;
    // 计数器加1

    if(count==3)
    {
        cout<<p->name<<',';
        // 输出出局人员的名字

        pre->next=p->next;
        p->next=NULL;
        // 将出局人员从链表中删除

        p=pre->next;
        // 指针p指向下一个人员

        count=0;
        // 重置计数器

        outNum++;
        // 出局人数加1
    }
    else
    {
        p=p->next;
        pre=pre->next;
        // 指针p和pre都指向下一个人员
    }
}

return 0;

} // 程序结束

C++ 逢三出局游戏:循环链表实现

原文地址: https://www.cveoy.top/t/topic/nxUl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录