目 录 一、 问题描述
1 二、 问题分析
2 三、 数据结构描述
2 四、 算法设计
2 五、 详细程序清单
4 六、 程序运行结果
11 七、 心得体会
12 一、 问题描述 1
约瑟夫问题描述 编号为1,2… n 的 n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数)
一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1 开始顺序报数,报到m 时停止报数,报 m 的人出列,将他的密码作为新的m 值,从他的顺时针方向上的下一个开始重新从1 报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序
八皇后问题描述 在一个8×8的棋盘里放置8个皇后,要求每个皇后两两之间不相"冲 "(在每一横列竖列斜列只有一个皇后)
3、界面设计模块问题描述 设计一个菜单式界面,让用户可以选择要解决的问题,同时可以退出程序
界面要 简洁明了,大方得体,便于用户的使用,同时,对于用户的错误选择可以进行有效的处理
二、 问题分析 在整个课程设计中,我主要负责的是约瑟夫问题中链表中的出列的操作算法的设计
用循环单链表表示编号为1,2… n的 n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数)
一开始输入一个正整数作为报数的上限值turn,从第一个人开始按顺时针方向自