数据结构值约瑟夫环问题
来源:互联网 发布:费用优化方案 编辑:程序博客网 时间:2024/06/10 21:34
注意以下代码略去package和import语句
Person类来描述每个人及其手中的密码,作为线性表中的元素类型
public class Person { private String name; //用老几来表示 private int pwd; //每个人手中持有的密码,作为下次的报数值 public Person(String name,int pwd) { this.name = name; this.pwd = pwd; } public String getName() { return name; } public int getPwd() { return pwd; }}接下来是使用单链表的方式来解决的代码
public class Client { public static void main(String[] args) {
<span style="white-space:pre"></span><span style="font-family: Arial, Helvetica, sans-serif;">MyLinkedList</span> list = new MyLinkedList();//此处也可以使用顺序表来实现 Person p1 = new Person("老一",3); Person p2 = new Person("老二",1); Person p3 = new Person("老三",7); Person p4 = new Person("老四",2); Person p5 = new Person("老五",4); Person p6 = new Person("老六",8); Person p7 = new Person("老七",4); list.add(p1); list.add(p2); list.add(p3); list.add(p4); list.add(p5); list.add(p6); list.add(p7); Client c = new Client(); c.joseph(list,1,6); } //begin为开始的人的位置,range为计数值,初始为上图中的m public void joseph(<span style="font-family: Arial, Helvetica, sans-serif;">MyLinkedList </span>list, int begin, int range) { //要做得事情:依次打印出出来的人的名字 /* step1: 找到要删除的那个人的位置, * step2: 拿到要删除的那个人的密码,作为下一次的range * step3: 删除掉这个人 * 循环做这3步,直到...结束 */ int found; //found表示找到的这个人的位置 System.out.println("依次出来的人为:"); while( list.getLength() > 0) { found = (begin + range -1) % list.getLength(); if(found == 0) found = list.getLength(); Person p = (Person)list.getElement(found); range = p.getPwd(); System.out.print(p.getName() + ","); list.delete(found); begin = found; } }}当然项目中少不了上课时讲的MyLinkedList类了,上课你没有拷贝,去我们百度云的上课资料中找。
0 0
- 数据结构值约瑟夫环问题
- 数据结构-----约瑟夫环问题
- 数据结构:约瑟夫环问题
- [数据结构]约瑟夫环问题
- 数据结构 约瑟夫环问题
- 数据结构 约瑟夫环问题C++
- 约瑟夫环问题 数据结构 c语言
- 【数据结构与算法】约瑟夫环问题
- 约瑟夫环—数据结构小问题
- 数据结构之约瑟夫问题
- 数据结构—约瑟夫问题
- [数据结构]约瑟夫问题
- 【数据结构基础】约瑟夫问题
- 数据结构--约瑟夫问题
- 数据结构--约瑟夫问题
- 约瑟夫问题、约瑟夫环
- 数据结构算法问题 约瑟夫问题
- 《数据结构》“约瑟夫问题”解法征集
- httpclent 访问https 忽略host检查 和一些 认证过程
- makefile构建网站
- 手机卫士-12
- Android抽象布局——include、merge 、ViewStub
- 目录文件处理函数之clearstatcache函数--清除缓存
- 数据结构值约瑟夫环问题
- SGU 134 Centroid 树形DP
- spring整合struts2时action里的service注入不进来,报空指针异常
- 代理的作用
- 【Android API Guides简译(四)】使用Service还是使用线程?
- sourceinsight添加makefile、kconfig、*.S文件支持
- cocostudio打包时提示ANT_ROOT not defined. Please define it in your environment解决方法
- Cocos2d-JS____CocosDenshion引擎
- php与web服务器关系