Josephus环问题——顺序表求解
来源:互联网 发布:淘宝号不能登陆怎么办 编辑:程序博客网 时间:2024/05/31 06:21
Josephus环问题——顺序表求解
算法描述:
①创建一个具有number个元素的顺序表对象list。
②从第start个元素开始,依次计数,每数到distance,就将该元素删除。
③重复计数并删除元素,直到剩下一个元素。
public class SeqList_Josephus {public SeqList_Josephus(int num, int start, int distance) {SeqList<String> list = new SeqList<String>(num);for(int i = 0; i<num; i++){list.insert((char)('A'+i)+""); //表尾插入,O(1)}System.out.println(list.toString());int i = start; while(list.size() > 1){ //表中多于一个元素,继续循环i = (i + distance - 1) % list.size(); //循环遍历System.out.println("删除"+list.remove(i).toString()+", "); //删除i位置的元素,O(n)System.out.println(list.toString());}System.out.println("被赦免者是:"+list.get(0).toString());}public static void main(String[] args) {new SeqList_Josephus(5,0,2);}}
运行结果:
SeqList.SeqList(A, B, C, D, E) 删除B, SeqList.SeqList(A, C, D, E) 删除D, SeqList.SeqList(A, C, E) 删除A, SeqList.SeqList(C, E) 删除E, SeqList.SeqList(C) 被赦免者是:C
阅读全文
0 0
- Josephus环问题——顺序表求解
- 数据结构——Josephus问题顺序表实现
- 约瑟夫(Josephus)问题的求解——利用循环链表
- Josephus环问题求解(Java实现)
- Josephus问题求解
- 求解JOSEPHUS问题
- Josephus问题求解
- Josephus问题求解 2
- Josephus问题求解
- 0010用顺序表实现约瑟夫环(Josephus)问题
- 顺序表实现Josephus(约瑟夫斯)环问题
- 用数组求解Josephus问题
- 约瑟夫环问题——Josephus Problem
- 顺序表之约瑟夫环(josephus)
- 使用顺序表求解约瑟夫环问题
- 线性表的应用——求解两个多项式相加问题描述(顺序表求解)
- 线性表的应用——求解两个多项式相加问题描述(顺序表求解)
- [Java]使用队列求解josephus问题
- 自己整理的知识点 “算法排序和查找”
- [python]使用channels库时遇到的一些问题
- 链式栈实现迷宫寻径
- Hibernate 级联删除异常 deleted object would be re-saved by cascade
- CSS3-转换之scale
- Josephus环问题——顺序表求解
- bzoj3651 网络通信(LCT)
- 基于SSH框架-CRM客户资源管理系统-简单小项目开发记录-CRM系统-03
- Android Studio打开Android Device Monitor报错
- Android--自定义View入门
- 通过winscp进行Linux和Windows文件共享
- 本地代码上传Github
- git 重置(回退提交版本)and用reflog挽救错误重置
- react---组件间数据传递