约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。
1.思路
先创建循环链表(尾插法) 再根据编号确定是第几个元素 再找到特定的节点进行删除(要知道节点的前一个节点)
2.需要的文件以及结构体内容
3.创建循环链表(尾插法)
i++是先i再++
关键在于循环 tail -> next = head -> next
最后返回到头指针(第一个有数据的节点)
头节点可要可不要
4.一些可读性
5.确定是从第几个人开始报数的
可以根据其data来判断
6.数到m数的人出圈直到只剩下最后一个人 最后输出其值即可
在删除节点的时候要知道删除的前一个节点