【问题标题】:"How to convert" Plain text algorithm to pseudocode“如何将”纯文本算法转换为伪代码
【发布时间】:2020-03-06 15:07:50
【问题描述】:

这是问题{https://drive.google.com/open?id=1lQLYfMJ-kw3yCIBa4BCPhZ0X0DIIoRMK}

我想把这些算法步骤转换成JAVA伪代码:

第一步 - 弹出栈顶并将其推入栈(T)

第二步 - 将顶部 (s) 存储在变量 (v) 中

第三步 - 弹出栈(T)中的所有元素并再次将其推入栈中

第四步 - 将变量 (v) 元素推入堆栈 (S)

重复这些步骤,直到反转整个堆栈但每次完成这些步骤后重复第一步并重复它们。

这是我的堆栈图解决方案 {https://drive.google.com/open?id=1K5YtZdFl1Bhgz6NhFqOA1Z0CppshaFeW}

【问题讨论】:

    标签: java algorithm stack plaintext


    【解决方案1】:

    这将有助于您的问题

    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");
        }
    }
    

    【讨论】:

      最近更新 更多