Josephu问题-上——创建环形链表
来源:互联网 发布:yy淘宝兼职是真的吗 编辑:程序博客网 时间:2024/05/16 05:40
import java.util.Scanner;class Person{int no;Person nextPerson = null;public Person(int no){this.no = no;}}class CycleLink{Person firstPerson = null; //指向链表第一个小孩的引用int len; Person temp = null;//设定链表长度public void setLen(int len){this.len = len;}//创建链表public void createLink(){for(int i=1; i<=len; i++){Person p = new Person(i);//环链的第一个对象if(i==1){this.firstPerson = p;//将第一个对象的引用存放在firstPerson中this.temp = p;//将第一个对象的引用暂时赋于temp,用于接收下一个对象的引用}//环链的最后一个对象else if(i==len){this.temp.nextPerson = p;//将最后一个对象的引用赋给倒数第二个对象的nextPersontemp = p;//将当前对象(也就是最后一个对象)的引用暂赋给temptemp.nextPerson = this.firstPerson;//将第一个对象的引用赋给最后一个对象的nextPerson}else{this.temp.nextPerson = p;//将当前对象的引用赋给上一个对象的引用变量nextPerson中this.temp = p;//将当前对象的引用暂时赋于temp,用于接收下一个对象的引用}}}//打印环形链表public void showLink(){Person t = firstPerson;do{System.out.println(t.no);t = t.nextPerson; /*前一个对象的nextPerson存放的下一个对象的引用 (因为对象也是引用类型,相当于是引用的引用)*/}while(t!=firstPerson);}}public class CycleLinkTest{public static void main(String[] args){Scanner input = new Scanner(System.in);System.out.print("请输入环形链表的长度:");CycleLink t = new CycleLink();t.setLen(input.nextInt());//给定环形链表的长度t.createLink();//创建环链t.showLink(); //测试环链是否创建成功} } /************************* 请输入环形链表的长度:6123456 *************************/
0 0
- Josephu问题-上——创建环形链表
- Josephu问题 单向链表
- Josephu问题链表方法
- Josephu 问题:数组实现和链表实现
- Josephu问题-下——实现程序功能
- JosePhu问题
- Josephu问题
- Josephu问题的链表解决方案
- 环形链表的创建
- Josephu问题的解决
- 约瑟夫问题(Josephu)
- 用循环链表解决约瑟夫(josephu)问题
- Josephu 问题的实现方法
- Josephu问题的数学解法
- [JAVA练习] Josephu 约瑟夫问题
- 【环形链表】丢手帕问题
- 环形链表+约瑟夫问题实现
- Java环形链表--约瑟夫问题
- 多态实例及其问题
- Main函数参数argc,argv说明
- 实现多态的条件与规则
- 2013年10月 TIOBE 编程语言排行榜单
- 去除显卡右键菜单
- Josephu问题-上——创建环形链表
- Josephu问题-下——实现程序功能
- 多态问题总结
- 数组——插入排序法(初步理解)
- 数组——插入排序法(对随机数进行排序)
- 数组——快速排序法(递归)
- 小强的HTML5移动开发之路(46)——汇率计算器【2】
- 白话经典算法系列之六 快速排序 快速搞定(转)
- 使用接口实现多继承