这次作业是实现约瑟夫环,课程地址:https://www.bilibili.com/video/av78177681 首先解释一下约瑟夫环,不过还是用一个例子比较形象:
由m个人围成一圈,指定一个数字n,从第一个人开始报数,从1开始报,报到n的人出局;下一轮从下一个人开始,依旧从1开始报数;最终留在场上的人是最后的赢家。
我选择使用单循环链表来做,如下图:
主要有两个难点:
1、循环链表的构建;
2、需要使用两个指针一前一后,来实现结点的删除。
头文件:
#pragma once
#ifndef NODE_H
#define NODE_H
template <class T>
class Node
{
public:
T data;
Node* next;
};
#endif // !NODE_H
源文件:
#