码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-12-05 14:18:45      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   使用   sp   

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

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

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

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

  1. public class Stack {  
  2.         public static void main(String[] args) {  
  3.             StackTools tools = new StackTools();  
  4.             tools.add("a");  
  5.             tools.add("b");  
  6.             tools.add("c");  
  7.             tools.add("d");  
  8.               
  9.             tools.remove();  
  10.         }  
  11. }
  12.  
  13. private class  StackTools {  
  14.     private LinkedList<String> linkedList;  
  15.     public StackTools(){  
  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.             QueueTools tools = new QueueTools();  
  4.             tools.add("a");  
  5.             tools.add("b");  
  6.             tools.add("c");  
  7.             tools.add("d");  
  8.               
  9.             tools.remove();  
  10.         }  
  11. }
  12.  
  13. private class QueueTools {  
  14.     private LinkedList<String> linkedList;  
  15.     public QueueTools(){  
  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. }  

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

标签:style   blog   http   io   ar   color   os   使用   sp   

原文地址:http://blog.csdn.net/shineflowers/article/details/41746777

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!