Advertisement
AdelKhalilov

Untitled

Jun 23rd, 2016
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. /**
  4. * Created by Адель on 22.06.2016.
  5. */
  6. public class Main {
  7.  
  8.  
  9. public class MyStack {
  10. private int maxSize; // Размер массива
  11. private int[] stackArray;
  12. private int top; // Вершина стека
  13.  
  14. public MyStack(int s) // Конструктор
  15. {
  16. maxSize = s; // Определение размера стека
  17. stackArray = new int[maxSize]; // Создание массива
  18. top = -1; // Пока нет ни одного элемента
  19. }
  20.  
  21. public void push(int v) // Размещение элемента на вершине стека
  22. {
  23. top++;
  24. stackArray[top] = v; // Увеличение top, вставка элемента
  25. }
  26.  
  27. public int pop() // Извлечение элемента с вершины стека
  28. {
  29. top--;
  30. return stackArray[top + 1]; // Извлечение элемента
  31. }
  32.  
  33. public long peek() // Чтение элемента с вершины стека
  34. {
  35. return stackArray[top];
  36. }
  37.  
  38. public boolean empty() // true, если стек пуст
  39. {
  40. if (top == -1) return true;
  41. return false;
  42. }
  43.  
  44. public boolean full() // true, если стек полон
  45. {
  46. if (top == maxSize - 1) return true;
  47. return false;
  48. }
  49.  
  50. public void clear() {
  51. top = -1;
  52. }
  53. }
  54.  
  55. public class MyQueue {
  56. private int maxSize;
  57. private int[] queArray;
  58. private int front;
  59. private int rear;
  60. private int nItems; // Для простоты кода будем хранить
  61.  
  62. // и изменять количество элементов
  63. MyQueue(int s) // Конструктор
  64. {
  65. maxSize = s;
  66. queArray = new int[maxSize];
  67. front = 0;
  68. rear = -1;
  69. nItems = 0;
  70. }
  71.  
  72. public void clear() {
  73. front = -1;
  74. }
  75.  
  76. public void offer(int v) // Добавить элемент в очередь
  77. {
  78. if (rear == maxSize - 1) // проверка на конец массива
  79. rear = -1;
  80. rear++;
  81. queArray[rear] = v;
  82. nItems++; // увеличить счетчик
  83. }
  84.  
  85. public int poll() // Извлечение первого элемента очереди
  86. {
  87. int temp = queArray[front]; // взять элемент
  88. front++;
  89. if (front == maxSize) // проверка на конец массива
  90. front = 0;
  91. nItems--; // уменьшить количество элементов
  92. return temp;
  93. }
  94.  
  95. public int peek() // Чтение первого элемента очереди
  96. {
  97. return queArray[front];
  98. }
  99.  
  100. public boolean empty() // true если очередь пуста
  101. {
  102. if (nItems == 0) return true;
  103. return false;
  104. }
  105.  
  106. public boolean isFull() // true если очередь полна
  107. {
  108. if (nItems == maxSize) return true;
  109. return false;
  110. }
  111. }
  112.  
  113.  
  114. public static void main(String args[]) {
  115. int i;
  116. Scanner sc = new Scanner(System.in);
  117. MyStack st = new MyStack(100);
  118. String command = "";
  119.  
  120. while (!command.equals("exit")) {
  121. command = sc.next();
  122. if (command.equals("push")) {
  123. st.push(sc.nextInt());
  124. System.out.println("ok");
  125. }
  126. if (command.equals("pop")) {
  127. System.out.println(st.pop());
  128. }
  129. if (command.equals("back")) {
  130. System.out.println(st.peek());
  131. }
  132. if (command.equals("size")) {
  133. System.out.println(top);
  134. }
  135. if (command.equals("clear")) {
  136. st.clear();
  137. System.out.println("ok");
  138. }
  139.  
  140. }
  141. System.out.println("bye");
  142.  
  143. }
  144.  
  145.  
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement