0
点赞
收藏
分享

微信扫一扫

Java使用LinkedList模拟一个堆栈或者队列数据结构


用Java模拟一个堆栈或者队列数据结构。

首先得明白堆栈和队列的数据结构:

堆栈:先进后出
队列:先进先出

LinkedList中刚好有addFirst()和addLast()方法。

1. public class Stack {  
2. public static void main(String[] args) {
3. StackTools tools = newStackTools();
4. "a");
5. "b");
6. "c");
7. "d");
8.
9. tools.remove();
10. }
11. }
12.
13. private class StackTools {
14. private LinkedList<String> linkedList;
15. publicStackTools(){
16. linkedList = new LinkedList<String>();
17. }
18.
19. public void add(String string){
20. linkedList.addFirst(string);
21. }
22.
23. public void remove(){
24. for(int i = 0; i < linkedList.size(); i++){
25. String content = linkedList.get(i);
26. System.out.println(content);
27. }
28. }
29.
30. }


打印结果:


1. d  
2. c
3. b
4. a

这是先进后出,这就是堆栈的数据结构,队列就简单了,只要把addFirst()方法改成addLast()方法就行。

代码如下:



1. public class Queue {  
2. public static void main(String[] args) {
3. new QueueTools();
4. "a");
5. "b");
6. "c");
7. "d");
8.
9. tools.remove();
10. }
11. }
12.
13. private class QueueTools {
14. private LinkedList<String> linkedList;
15. publicQueueTools(){
16. linkedList = new LinkedList<String>();
17. }
18.
19. public void add(String string){
20. linkedList.addLast(string);
21. }
22.
23. public void remove(){
24. for(int i = 0; i < linkedList.size(); i++){
25. String content = linkedList.get(i);
26. System.out.println(content);
27. }
28. }
29. }

举报

相关推荐

0 条评论