栈的逆序

Posted 澄海乌鸦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了栈的逆序相关的知识,希望对你有一定的参考价值。

要求:只是用递归实现栈的逆序

 

 实现两个函数:

1.getAndRemoveLastElement(), 该函数用于返回栈底元素,并将其他元素按原来顺序重新压入

2.reverse(),该函数用于逆序栈。

 

具体代码如下:

import java.util.Stack;

public class pro3_reverseStack {
    public static int getAndRemovelastElement(Stack<Integer> stack) {
        int result = stack.pop();
        if(stack.isEmpty()) {
            return result ;
        }
        else {
            int last = getAndRemovelastElement(stack) ;
            stack.push(result) ;
            return last ;
        }
    }
    
    public static void reverse(Stack<Integer> stack) {
        if(stack.isEmpty()) {
            return ;
        }
        
        int i = getAndRemovelastElement(stack) ;
        reverse(stack) ;
        stack.push(i) ;
    }
}

 

以上是关于栈的逆序的主要内容,如果未能解决你的问题,请参考以下文章

栈和队列----用递归函数和栈的操作实现逆序一个栈

只使用递归实现栈的逆序操作

用递归函数和栈操作逆序栈

用递归函数和栈操作逆序栈

栈与队列篇_栈的应用合集

逆序栈