«Как конвертировать» алгоритм простого текста в псевдокод - PullRequest
1 голос
/ 10 ноября 2019

вот вопрос {https://drive.google.com/open?id=1lQLYfMJ-kw3yCIBa4BCPhZ0X0DIIoRMK}

я хочу преобразовать эти шаги алгоритма в псевдокод JAVA:

Первый шаг - вытолкнуть верхнюю часть стека (ов) и отправить его вstack (T)

второй шаг - сохранить верх (ы) в переменной (v)

третий шаг - сложить все элементы в стек (T) и снова поместить его в стек (ы))

четвертый шаг - вставить элемент переменной (v) в стек (S)

повторять эти шаги до тех пор, пока не изменит полный стек Но повторять первый шаг на 1 каждый раз, когда вы закончите этишаги и повторите их.

вот мое решение Stack Diagram {https://drive.google.com/open?id=1K5YtZdFl1Bhgz6NhFqOA1Z0CppshaFeW}

1 Ответ

1 голос
/ 11 ноября 2019

Это поможет вашему вопросу

import java.util.*;

class Stack
{
    private int arr[];
    private int top;
    private int capacity;

    // Constructor to initialize stack
    Stack(int size)
    {
        arr = new int[size];
        capacity = size;
        top = -1;
    }

    // Utility function to add an element x in the stack
    public void push(int x)
    {
        if (isFull())
        {
            System.out.println("OverFlow\nProgram Terminated\n");
            System.exit(1);
        }

        System.out.println("Inserting " + x);
        arr[++top] = x;
    }

    // Utility function to pop top element from the stack
    public int pop()
    {
        // check for stack underflow
        if (isEmpty())
        {
            System.out.println("UnderFlow\nProgram Terminated");
            System.exit(1);
        }

        System.out.println("Removing " + peek());

        // decrease stack size by 1 and (optionally) return the popped element
        return arr[top--];
    }

    // Utility function to return top element in a stack
    public int peek()
    {
        if (!isEmpty())
            return arr[top];
        else
            System.exit(1);

        return -1;
    }

    // Utility function to return the size of the stack
    public int size()
    {
        return top + 1;
    }

    // Utility function to check if the stack is empty or not
    public Boolean isEmpty()
    {
        return top == -1;   // or return size() == 0;
    }

    // Utility function to check if the stack is full or not
    public Boolean isFull()
    {
        return top == capacity - 1; // or return size() == capacity;
    }

    public static void main (String[] args)
    {
        Stack stack = new Stack(3);

        stack.push(1);      // Inserting 1 in the stack
        stack.push(2);      // Inserting 2 in the stack

        stack.pop();        // removing the top 2
        stack.pop();        // removing the top 1

        stack.push(3);      // Inserting 3 in the stack

        System.out.println("Top element is: " + stack.peek());
        System.out.println("Stack size is " + stack.size());

        stack.pop();        // removing the top 3

        // check if stack is empty
        if (stack.isEmpty())
            System.out.println("Stack Is Empty");
        else
            System.out.println("Stack Is Not Empty");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...