c++中用无虚头结点链表类设计函数实现约瑟夫环 c语言链表

//注意:该文件操作的链表为带头結点双向链表头结点数据为-1



C/C++经典约瑟夫环 c语言链表问题——带头结点的单向循环链表

本程序是采用带头结点的单向循环链表写成的当指针指到要出列的结点时,先输出结点的序列号再删除之,直到所有结点都出列完

题目要求-所用的单循环链表中不需要“头结点”,我不会,请教各位高手!
编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人持有一个密码(正整数).一开始任选一个正整数作為报数上限值m,从第一个人开始顺时针方向自1开始顺序报数,报到m时停止报数.报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人開始重新从1报数,如此下去,直到所有人全部出列为止.设计一个程序来求出出列顺序.
[基本要求]1.利用单向循环链表存储结构模拟此过程,按照出列嘚顺序输出各个人的编号.此题所用的循环链表中不需要“头结点”,请注意空表和非空表的界限.
2.向上述程序中添加在顺序结构上实现的部分.
輸入数据:首先输入待处理人员数及他们的密码,然后输入m的初值,建立单循环链表.
输出形式:建立一个输出函数,将正确的出列序列输出.

我要回帖

更多关于 约瑟夫环java链表实现 的文章

 

随机推荐