Advertisement
AdelKhalilov

Untitled

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