java循环单链表实现约瑟夫环问题
来源:互联网 发布:霜叶知秋 编辑:程序博客网 时间:2024/05/12 16:18
package SingleLinkList;//节点类class Node{private int data;private Node next;public int getData() {return data;}public void setData(int data) {this.data = data;}public Node getNext() {return next;}public void setNext(Node next) {this.next = next;}public Node(int data,Node next) {this.data=data;this.next=next;}}//链表类public class YueSeFu {private Node head;//头节点private Node tail;//尾指针private int length;public YueSeFu(){head=new Node(-1,null);length=0;}//头插法建立单链表public void addhead(int item){Node node=new Node(item,null);//node=(Node *)malloc(sizeof(node))node.setNext(head.getNext());//node->next=head->next;head.setNext(node);//head->next=node;length++;}//尾插法建立单链表public void addtail(int item){Node node=new Node(item,null);if(length==0){head.setNext(node);tail=node;//tail.setNext(null);length++;return;}//while(tail.getNext()!=null){//tail=tail.getNext();//}tail.setNext(node);tail=node;length++;}public void addcircleLink(int item){Node node=new Node(item,head.getNext());if(length==0){head.setNext(node);tail=node;length++;return;}tail.setNext(node);tail=node;length++;}//输出单链表public void printList(){Node temp=head.getNext();while(temp!=null){System.out.print(temp.getData()+" ");temp=temp.getNext();}System.out.println("length="+length);}//输出循环链表public void printcircleList(){Node temp=head.getNext();if(length==1){System.out.print(temp.getData()+" ");return;}int i=0;while(i<length*3){System.out.print(temp.getData()+" ");temp=temp.getNext();i++;}System.out.println("length="+length);}public void yuesefu(int begin,int num){Node p=head;int i=1;while(i<begin){//先定位到开始报数位置p=p.getNext();i++;}while(p!=p.getNext()){for(int j=1;j<num;j++){//报数开始p=p.getNext();}System.out.println("出局者="+p.getNext().getData());p.setNext(p.getNext().getNext());//删除出局者}System.out.println("胜利者是="+p.getData());}//测试public static void main(String[] args) {YueSeFu list=new YueSeFu();//构造约瑟夫环for(int i=0;i<41;i++){//list.addhead(i+1);list.addcircleLink(i+1);}int begin=1;int num=3;list.yuesefu(begin, num);}}
0 0
- java循环单链表实现约瑟夫环问题
- 循环单链表实现约瑟夫环问题
- 约瑟夫环(约瑟夫问题) 采用循环单链表实现
- 循环列表的Java实现,解决约瑟夫环问题
- java循环链表实现约瑟夫环问题
- 循环单链表实现约瑟夫环
- Josephus(约瑟夫环问题)循环单链表c语句实现!
- 约瑟夫环问题(循环单链表的实现)
- 循环链表 约瑟夫环问题实现
- 约瑟夫环问题循环链表实现
- 约瑟夫问题的循环单链表实现
- 约瑟夫问题的循环单链表实现
- Java循环链表实现约瑟夫环
- Java循环链表实现约瑟夫环
- Java循环链表实现约瑟夫环
- 约瑟夫环 java循环链表实现
- java实现约瑟夫环问题
- java实现约瑟夫环问题
- dm8168的数据链link例子路径
- springMVC上传文件
- Sqoop_详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- UML视图(八)构件图
- android listview 滑动过程中不加载图片,停止时加载图片
- java循环单链表实现约瑟夫环问题
- Nokogiri 中文乱码的几种情况
- 安装CDH之前的环境准备-笔记
- GPU Command Buffer
- 为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?
- 奉献 高效的MIDlet 编程
- UINavigationController使用
- hdu 4612 Warm up(无向图Tarjan+树的直径)
- 在类的成员函数中调用delete this