约瑟夫问题,就是指n个人围成一圈,每个人都有一个1~n内唯一的编号。根据游戏规则,从第s号的人开始数1,2,3..,数到第m号的那个人将被淘汰出局,然后又从第m+1个人开始数1,2,3...,如此反复,直到最后只剩下一个人的时候游戏才结束。现在根据游戏人数n,号码间隔m和起始号码s,求游戏结束时那个人的号码。
这个问题是数据结构中非常基础,也是很简单的一个问题:用一个不带附加头结点的循环链表即可实现。但是在用c++描述代码的过程中,虽然最后实现了问题的求解,但程序结束的时候却出现了内存不能read的现象,检查了一......
阅读全文