⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 josephus-josephus.html

📁 经典的数据结构源代码(java 实现)
💻 HTML
字号:
<html><head><title>Code Fragment</title></head><body text=#000000><center></center><br><br><dl><dd><pre><font color=#ff8000>import</font> net.datastructures.*;<font color=#8000a0>public</font> <font color=#8000a0><font color=#ff8000>class</font> </font>Josephus {  <font color = #ff0080>/** Solution of the Josephus problem using a queue. */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>static</font> &lt;E&gt; <font color=#8000a0>E </font><font color=#0000ff>Josephus</font>(Queue&lt;E&gt; Q, <font color=#8000a0><font color=#8000a0>int</font> </font>k) {    <font color=#ff8000>if</font><font color=#0000ff> </font>(Q.<font color=#0000ff>isEmpty</font>()) <font color=#8000a0><font color=#ff8000>return</font> </font>null;    <font color=#ff8000>while</font><font color=#0000ff> </font>(Q.<font color=#0000ff>size</font>() &gt; 1) {      System.out.<font color=#0000ff>println</font>(<font color=#008000>"  Queue: "</font> + Q + <font color=#008000>"  k = "</font> + k);      <font color=#ff8000>for</font><font color=#0000ff> </font>(<font color=#8000a0>int</font> i=0; i &lt; k; i++)         Q.<font color=#0000ff>enqueue</font>(Q.<font color=#0000ff>dequeue</font>());  <font color=#ff0080>// move the front element to the end</font>      <font color=#8000a0>E </font>e = Q.<font color=#0000ff>dequeue</font>(); <font color=#ff0080>// remove the front element from the collection </font>      System.out.<font color=#0000ff>println</font>(<font color=#008000>"    "</font> + e + <font color=#008000>" is out"</font>);            }    <font color=#8000a0><font color=#ff8000>return</font> </font>Q.<font color=#0000ff>dequeue</font>();  <font color=#ff0080>// the winner</font>  }  <font color = #ff0080>/** Build a queue from an array of objects */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>static</font> &lt;E&gt; Queue&lt;E&gt; <font color=#0000ff>buildQueue</font>(E a[]) {    Queue&lt;E&gt; Q = <font color=#8000a0><font color=#ff8000>new</font> </font>NodeQueue&lt;E&gt;<font color=#0000ff></font>();    <font color=#ff8000>for</font><font color=#0000ff> </font>(<font color=#8000a0>int</font> i=0; i&lt;a.length; i++)      Q.<font color=#0000ff>enqueue</font>(a[i]);    <font color=#8000a0><font color=#ff8000>return</font> </font>Q;  }  <font color = #ff0080>/** Tester method */</font>  <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>static</font> <font color=#8000a0><font color=#8000a0>void</font> </font><font color=#0000ff>main</font>(<font color=#8000a0>String</font>[] args) {    <font color=#8000a0>String</font>[] a1 = {<font color=#008000>"Alice"</font>, <font color=#008000>"Bob"</font>, <font color=#008000>"Cindy"</font>, <font color=#008000>"Doug"</font>, <font color=#008000>"Ed"</font>, <font color=#008000>"Fred"</font>};    <font color=#8000a0>String</font>[] a2 = {<font color=#008000>"Gene"</font>, <font color=#008000>"Hope"</font>, <font color=#008000>"Irene"</font>, <font color=#008000>"Jack"</font>, <font color=#008000>"Kim"</font>, <font color=#008000>"Lance"</font>};    <font color=#8000a0>String</font>[] a3 = {<font color=#008000>"Mike"</font>, <font color=#008000>"Roberto"</font>};    System.out.<font color=#0000ff>println</font>(<font color=#008000>"First winner is "</font> + <font color=#0000ff>Josephus</font>(<font color=#0000ff>buildQueue</font>(a1), 3));    System.out.<font color=#0000ff>println</font>(<font color=#008000>"Second winner is "</font> + <font color=#0000ff>Josephus</font>(<font color=#0000ff>buildQueue</font>(a2), 10));    System.out.<font color=#0000ff>println</font>(<font color=#008000>"Third winner is "</font> + <font color=#0000ff>Josephus</font>(<font color=#0000ff>buildQueue</font>(a3), 7));  }}</dl></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -