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

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

筛选

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

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

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

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

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

解题思路:1)先创建一个最简单的链表。2)利用for()循环来给每一个链表赋值3)循环遍历,每循环一次就给链表二次赋值,并把值是3的链表的值置0,再重复遍历循环4)最后遍历链表,把链表中的值不是0的输出注意事项:注意在给二次赋值为3的时候,要把总数-1,并且把二次赋值置零。

报数问题的C++解法--暴力

解题思路:首先,输入该循环链表,在头结点指向为空时,即链表为空时,新增节点的指向就是其本身。以后新增节点以后,指针域保存的是第一个结点的地址。其次,进行排除。设置两个指针,分别为prev和p。p是prev的后继节点。p在每次数了3之后就删除该p所指向的节点。

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

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

单链表——约瑟福问题

解题思路:构建一个单向的环形链表思路1.先创建第一个节点,让First指向该节点,并形成环形2.后面当我们每创建一个新的节点,就把该节点,加入到已有的环形链表中即可。遍历环形链表1.先让一个辅助指针(变量)curBoy,指向First节点2.然后通过一个while循环遍历该环形链表即可,