![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
栈和队列
cyyyyyh
这个作者很懒,什么都没留下…
展开
-
固定长度数组实现栈和队列
public class ArrayStack { private Integer[] arr; private Integer index; public ArrayStack(int initSize) { //固定数组大小 if (initSize < 0) { throw new IllegalArgumentException("this init si...原创 2019-04-20 21:12:40 · 310 阅读 · 0 评论 -
用一个栈实现另一个栈的排序
一个栈中元素的类型为整型,现在将该栈从栈顶到栈底按从小到大的顺序排列,只需申请一个栈,可以申请新的变量,但不能申请额外的数据结构。如何完成排序? public static void sortStackByStack(Stack<Integer> stack) { Stack<Integer> help = new Stack<Integer>(); w...原创 2019-04-16 20:23:10 · 141 阅读 · 0 评论 -
仅用递归函数和栈操作逆序一个数
之前用两个栈可以实现队列 使用两个栈就直接一个pop()另一个进行push()就可以了 归根到底就是把栈底元素放到栈顶才可以 这里可以理解为就是使用递归函数来代替另一个栈 首先写一个递归输出栈底元素的递归函数 弹出栈顶元素还要将剩下的元素原封不动放回去 public static int getAndRemoveLastElement(Stack<Integer> stack) { ...原创 2019-04-16 19:01:33 · 107 阅读 · 0 评论 -
具有返回最小值功能的栈
import java.util.Stack; class newStack{ private Stack<Integer> s; private Stack<Integer> sMin; public newStack() { this.s = new Stack<Integer>(); this.sMin = new Stack<In...原创 2019-04-16 18:18:46 · 121 阅读 · 0 评论 -
用两个栈来实现队列 两个队列实现栈
import java.util.Stack; class newQueue{ Stack<Integer> s1 = new Stack<Integer>(); Stack<Integer> s2 = new Stack<Integer>(); public void add(int value) { s1.push(value); ...原创 2019-04-15 20:41:46 · 155 阅读 · 0 评论