题解 1770: [编程入门]链表之报数问题

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

链表报数问题 C++,stl-list

解题思路:有n个人围成一圈,顺序从1开始排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,(之后再从一数到三),问最后留下的是原来第几号的那位。要求用循环链表实现。这里的想法和题目中描述基本一致,就是将链表中报3的人弹出。至于如何让他们围成一圈,则将不报3的放到链表的末尾。

报数问题——数据结构(循环链表)

解题思路:定义有头结点的循环链表,输入数据时用头插法建立递增的链表。DeleteLNode()函数删除指定结点,并返回删除的结点的下一个结点。定义outnum()函数依次找出报数为3的人,每找到一个报数为3的人就执行DeleteLNode()函数,直到链表只剩一个人,输出这个人的编号。

链表之报数问题-题解 建立循环链表解决

分析:这道题是经典的约瑟夫环问题解法有很多数学公式,直接模拟,找规律但我写这个题解的目的是为了巩固循环链表及其操作首先网上关于循环链表的题解基本都为类,这对于编程新手和习惯了ACM的学生非常不友好,因此我选择用面向过程来进行解题#include#includeusingnamespacestd;str

[编程入门]链表之报数问题-题解——方法简单,代码简洁(C语言代码)

######解题思路:1、首先,需要考虑的问题是要不要头结点?显然,要一直循环的话,肯定是不要头结点的2、链表的数据域放什么数我一开始想的是123,但是后来想了想,最后剩下的肯定是一个结点,显然数据域放上序号更合适3、需要哪些变量每数到3就得删除一个结点,

[编程入门]链表之报数问题-题解(C语言代码)

//有n个人围成一圈,顺序从1开始排号。从第1个人开始报数(从1到3报数),//凡报到3的人退出圈子,问最后留下的是原来第几号的那位。//使用了单链表#include#includetypedefstructnode//定义结点{intfirst;intlast;structnode*next;}no