zoukankan      html  css  js  c++  java
  • Java循环链表实现约瑟夫环(搬运)

     1 public class Josephus {
     2     static class Node{
     3         int val;
     4         Node next;
     5         Node(int v){
     6             val=v;
     7             }        
     8     }//成员类,代表节点,类似于数据结构中的结构体
     9     public static void main(String[] args) {
    10         int N=9;//这个表示总人数
    11         int M=5;//数到几的人出列
    12         Node t=new Node(1);//头节点单列出来,方便形成循环链表
    13         Node x=t;
    14         
    15         for(int i=2;i<=N;i++)x=(x.next=new Node(i));//建立单向链表
    16         x.next=t;//最后一个节点的next指向第一个节点,形成循环链表
    17         System.out.println("出圈的顺序为:");
    18         while(x!=x.next){
    19             for(int i=1;i<M;i++)
    20                 x=x.next;
    21                        //此时x是将出列的节点的前一个节点
    22             System.out.print(x.next.val+" ");
    23             x.next=x.next.next;
    24         }
    25         System.out.println();
    26         System.out.println("Survivors is "+x.val);    
    27     }
    28 }
  • 相关阅读:
    水杯倒水问题
    判断算24
    困难串
    Hadoop环境搭建
    GWT+Hadoop+Hbase搭建(转)
    Vector与ArrayList的区别
    Java+Eclipse 环境配置
    关于颜色的宏定义.
    xnatouch for iphone!!
    What's new iphone 3GS
  • 原文地址:https://www.cnblogs.com/xurui1995/p/5180350.html
Copyright © 2011-2022 走看看