![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试相关算法--栈和队列
沙漠一只雕得儿得儿
沙漠一只雕,白月光与朱砂痣
展开
-
设计一个有getMin(),push(),pop().功能的栈
要求:pop push getMin的时间复杂度O(1).package chapter01_stack_and_queue;import java.util.Stack;public class _01_GetMinStack { public static class MyStack { Stack stackData = new Stack(); Stack stack原创 2016-11-14 15:44:33 · 492 阅读 · 0 评论 -
由两个栈实现一个队列
要求:实现队列的add,poll,peek操作package chapter01_stack_and_queue;import java.util.Stack;/** * 使用两个栈,一个stackPush一个stackPop, * push没有条件 * pop的条件是stackPop为空 * @author buder_cp * */public class TwoSta原创 2016-11-14 16:17:59 · 311 阅读 · 0 评论 -
只利用一个额外栈实现栈的排序
package chapter01_stack_and_queue;import java.util.Stack;public class _05_StackSortStack { public static void sortStackByStack(Stack stack) { Stack stackHelp = new Stack(); while(!stack.isEmp原创 2016-11-14 17:08:07 · 405 阅读 · 0 评论 -
自己实现栈
package 栈与队列上;public class MiniStack { private int size; //size是栈顶指针 private Object[] array = new Object[4]; //Java不能初始化泛型数组,如果需要,则要使用Java反射实现 /** * 判断数组是否为空 * @return */ public boo原创 2016-11-20 14:50:26 · 253 阅读 · 0 评论 -
Java实现自己的队列
package 栈与队列上;import java.util.LinkedList;/** * 定义节点 * @author buder_cp * * @param */class ListNode { T val; ListNode next; public ListNode(T value, ListNode next) { super(); this.va原创 2016-11-21 11:29:37 · 296 阅读 · 0 评论 -
用两个栈实现一个队列
package 栈与队列上;import java.util.Stack;public class MyQueue { public Stack stack1 = new Stack(); public Stack stack2 = new Stack(); public int size; public void push(int x) { stack1.push(x);原创 2016-11-21 12:00:10 · 269 阅读 · 0 评论 -
用两个队列实现一个栈
package 栈与队列上;import java.util.LinkedList;import java.util.Queue;public class MyStack { public Queue queue1 = new LinkedList(); public Queue queue2 = new LinkedList(); public int size; /**原创 2016-11-21 12:31:19 · 420 阅读 · 0 评论 -
Java用循环数组实现队列
需要实现的方法:public interface My_queue { void add(T t); T remove(); int size(); boolean isEmpty(); T front();}定义自己的数组队列:public class My_arrayQueue implements My_queue{ private T[] data; pri原创 2017-05-13 17:28:07 · 584 阅读 · 0 评论 -
Java用链表实现队列
定义节点类:public class Node { T data; Node next; public Node(){} public Node(T t){ this.data = t; }}定义自己的链表队列类:public class My_linkedQueue implements My_queue { private Node head; privat原创 2017-05-13 17:30:49 · 842 阅读 · 0 评论