数据结构Java版-栈和队列
2015-02-28 16:14
148 查看
在Java中实现链表是非常简单的,每个节点都有一个值,然后把它链接到下一个节点。
定义节点:
栈结构(注意箭头方向):
队列(Queue)前端(front)进行删除操作,而在表的后端(rear)进行插入操作
值得一提的是,Java标准库中已经包含一个叫做Stack的类,链表也可以作为一个队列使用(add()和remove())。(链表实现队列接口)如果你在面试过程中,需要用到栈或队列解决问题时,你可以直接使用它们。
定义节点:
class Node { int val; Node next; Node(int x) { val = x; next = null; } }
栈结构(注意箭头方向):
class Stack{ Node top; public Node peek(){ if(top != null){ return top; } return null; } public Node pop(){ if(top == null){ return null; }else{ Node temp = new Node(top.val); top = top.next; return temp; } } public void push(Node n){ if(n != null){ n.next = top; top = n; } } }
队列(Queue)前端(front)进行删除操作,而在表的后端(rear)进行插入操作
class Queue{ Node first, last; public void enqueue(Node n){ if(first == null){ first = n; last = first; }else{ last.next = n; last = n; } } public Node dequeue(){ if(first == null){ return null; }else{ Node temp = new Node(first.val); first = first.next; return temp; } } }
值得一提的是,Java标准库中已经包含一个叫做Stack的类,链表也可以作为一个队列使用(add()和remove())。(链表实现队列接口)如果你在面试过程中,需要用到栈或队列解决问题时,你可以直接使用它们。
相关文章推荐
- (C语言队列的顺序实现(数据结构十)
- 【数据结构与算法】基本数据结构——队列的链式表示
- 数据结构之队列【java实现】
- Python实现基础数据结构--队列
- 数据结构(C#):队列
- 数据结构习题之栈和队列
- 栈和队列5|逆波兰计算器 - 数据结构和算法27
- Python数据结构——栈、队列的实现(二)
- 巧用javascript数组实现数据结构-堆栈与队列
- 【数据结构】 队列的实现
- 数据结构c++实现----双端队列
- 数据结构之优先队列--二叉堆(Java实现)
- 栈和队列1 – 数据结构和算法23
- MIT:算法导论——7.1.基本数据结构_栈、队列、链表、有根树
- 数据结构示例之用链表实现顺序队列
- 数据结构--用堆实现优先队列
- 进击的数据结构之六队列的基本操作-顺序结构
- Linux学习(十一):数据结构之栈和队列
- 数据结构java版之《数组》
- 【数据结构】 链表、队列、栈