Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.54 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.util.*;
  4.  
  5.  
  6. public class Josephus<E> implements Queue<E> {
  7. E value;
  8. Josephus<E> link;
  9.  
  10. Josephus<E> front, rear;
  11. Stack<E> s1 = new Stack<E>();
  12. Stack<E> s2 = new Stack<E>();
  13.  
  14. public void display() {
  15. Josephus<E> n = s2.top;
  16. System.out.print("(front)");
  17. while (n != null) {
  18. System.out.print(" <-" + n.value);
  19. n = n.link;
  20. }
  21. System.out.println(" <-(rear)");
  22. }
  23.  
  24. @Override
  25. public boolean add(E item) {
  26. while (s2.top != null)
  27. s1.push(s2.pop());
  28. s1.push(item);
  29. rear = s1.top;
  30. while (s1.top != null)
  31. s2.push(s1.pop());
  32. front = s2.top;
  33. return true;
  34. }
  35.  
  36. public static void main(String[] args) {
  37. char input = 0;
  38. System.out.println("Josephus - I. Cuevas");
  39. do {
  40. try {
  41. Josephus<Integer> q = new Josephus<Integer>();
  42. Josephus<Integer> q1 = new Josephus<Integer>();
  43. int n = 0, m, i;
  44. BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  45. System.out.print("\nHow many member of the group? ");
  46.  
  47. n = Integer.parseInt(br.readLine());
  48.  
  49. System.out.print("What is skip count? ");
  50. m = Integer.parseInt(br.readLine());
  51. for (i = 1; i <= n; i++)
  52. q.add(i);
  53. int l, k = 0;
  54.  
  55. while (k != n - 1) {
  56. for (i = 1; i < m; i++)
  57. q.add(q.remove());
  58. l = q.remove();
  59. q1.add(l);
  60. k++;
  61. }
  62.  
  63. System.out.println("You want to be in position #" + q.remove());
  64.  
  65. System.out.print("\nAgain [Y/N]? ");
  66. input = br.readLine().charAt(0);
  67. } catch (Exception e) {
  68. System.out.println("Please enter an integer.");
  69. }
  70. } while (input != 'N');
  71. System.out.println("Good bye Good luck!");
  72. }
  73.  
  74. @Override
  75. public int size() {
  76. return 0;
  77. }
  78.  
  79. @Override
  80. public boolean isEmpty() {
  81. return false;
  82. }
  83.  
  84. @Override
  85. public boolean contains(Object o) {
  86. return false;
  87. }
  88.  
  89. @Override
  90. public Iterator<E> iterator() {
  91. return null;
  92. }
  93.  
  94. @Override
  95. public Object[] toArray() {
  96. return null;
  97. }
  98.  
  99. @SuppressWarnings("hiding")
  100. @Override
  101. public <E> E[] toArray(E[] a) {
  102. return null;
  103. }
  104.  
  105. @Override
  106. public boolean remove(Object o) {
  107. return false;
  108. }
  109.  
  110. @Override
  111. public boolean containsAll(Collection<?> c) {
  112. return false;
  113. }
  114.  
  115. @Override
  116. public boolean addAll(Collection<? extends E> c) {
  117. return false;
  118. }
  119.  
  120. @Override
  121. public boolean removeAll(Collection<?> c) {
  122. return false;
  123. }
  124.  
  125. @Override
  126. public boolean retainAll(Collection<?> c) {
  127. return false;
  128. }
  129.  
  130. @Override
  131. public void clear() {
  132.  
  133. }
  134.  
  135. @Override
  136. public boolean offer(E e) {
  137. return false;
  138. }
  139.  
  140. @Override
  141. public E remove() {
  142. E item = s2.pop();
  143. front = s2.top;
  144. return item;
  145. }
  146.  
  147. @Override
  148. public E poll() {
  149. return null;
  150. }
  151.  
  152. @Override
  153. public E element() {
  154. return null;
  155. }
  156.  
  157. @Override
  158. public E peek() {
  159.  
  160. return null;
  161. }
  162.  
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement