Рубрики

Класс стека в Java

Инфраструктура Java Collection предоставляет класс Stack, который моделирует и реализует структуру данных Stack. Класс основан на базовом принципе «первым пришел — первым вышел». В дополнение к основным операциям push и pop, класс предоставляет еще три функции empty, search и peek. Можно также сказать, что класс расширяет Vector и рассматривает класс как стек с пятью упомянутыми функциями. Этот класс также может называться подклассом Vector.
Эта диаграмма показывает иерархию класса Stack:

Класс поддерживает один конструктор по умолчанию Stack (), который используется для создания пустого стека .
Ниже программа показывает несколько основных операций, предоставляемых классом Stack:

// Java-код для реализации стека

  

import java.io.*;

import java.util.*;

  

class Test

{   

    // Вставка элемента в верхнюю часть стека

    static void stack_push(Stack<Integer> stack)

    {

        for(int i = 0; i < 5; i++)

        {

            stack.push(i);

        }

    }

      

    // выталкивающий элемент сверху стека

    static void stack_pop(Stack<Integer> stack)

    {

        System.out.println("Pop :");

  

        for(int i = 0; i < 5; i++)

        {

            Integer y = (Integer) stack.pop();

            System.out.println(y);

        }

    }

  

    // Отображение элемента в верхней части стека

    static void stack_peek(Stack<Integer> stack)

    {

        Integer element = (Integer) stack.peek();

        System.out.println("Element on stack top : " + element);

    }

      

    // Поиск элемента в стеке

    static void stack_search(Stack<Integer> stack, int element)

    {

        Integer pos = (Integer) stack.search(element);

  

        if(pos == -1)

            System.out.println("Element not found");

        else

            System.out.println("Element is found at position " + pos);

    }

  

  

    public static void main (String[] args)

    {

        Stack<Integer> stack = new Stack<Integer>();

  

        stack_push(stack);

        stack_pop(stack);

        stack_push(stack);

        stack_peek(stack);

        stack_search(stack, 2);

        stack_search(stack, 6);

    }

}

Выход:

Pop :
4
3
2
1
0
Element on stack top : 4
Element is found at position 3
Element not found

Методы в классе Stack

  1. Object push ( Object element ) : помещает элемент на вершину стека.
  2. Object pop () : удаляет и возвращает верхний элемент стека. Исключение 'EmptyStackException' генерируется, если мы вызываем pop (), когда вызывающий стек пуст.
  3. Object peek () : возвращает элемент в верхней части стека, но не удаляет его.
  4. boolean empty () : возвращает true, если на вершине стека ничего нет. Остальное возвращает false.
  5. int search ( Object element ) : определяет, существует ли объект в стеке. Если элемент найден, он возвращает позицию элемента с вершины стека. Иначе, это возвращает -1.

Эта статья предоставлена Мехаком Нарангом.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Класс стека в Java

0.00 (0%) 0 votes