Advertisement
AdelKhalilov

Untitled

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