山 东 科 技 大 学 学 生 课 程 设 计
第 1 页
设计 1 编制一个演示约瑟夫环问题的程序
一、需求分析
1、问题描述:
设编号为 1,2~~n(n>0)按顺时针方向围坐一圈,每人持有一个整
数密码,开始时,任意给出一个报数上限 m,从第一个人开始顺时针方向
自一起顺时针报数,报到 m 时,停止报数。报 m 的人出列 ,把它的密码
作为新的 m 的值,从他在顺时针方向上的下一个人起重新报数,直到全部
人出列。
2、基本要求:
利用单向循环链表存储结构模拟此过程,按出列顺序打印个人的编
号。
3、测试数据:
M 的初值为 20,n=7,7 个人的密码依次为:3,1,,7,2,4,8,4
正确的出列顺序为:6,1,4,7,2,3,5……
二、概要设计
1、抽象数据类型线性表的定义如下:
ADT List {
数据对象: