堆栈、队列数据结构的特点

堆栈数据结构存储特点:先进后出,后进先出。
队列数据结构的存储特点:先进先出,后进后出。

  
  
  1. package com.cn.linkedList;
  2. import java.util.LinkedList;
  3. /**
  4. * Author:Liu Zhiyong
  5. * Version:Version_1
  6. * Date:2016年7月15日15:49:42
  7. * Desc:
  8. * 1.栈:主要是用于实现堆栈数据结构的存储方式。
  9. * 先进后出
  10. * push()
  11. * pop()
  12. * 2.队列:主要是为了让你们可以使用LinkedList模拟队列数据结构的存储方式。
  13. * 先进先出
  14. * offerA()
  15. * poll()
  16. *
  17. * 需求:使用LinkedList实现堆栈数据结构的存储方式与队列的数据结构存储方式。
  18. */
  19. //使用LinkedList模拟堆栈的数据结构存储方式
  20. class StackList{
  21. LinkedList list;
  22. public StackList() {
  23. list = new LinkedList();
  24. }
  25. //进栈
  26. public void add(Object o) {
  27. list.push(o);
  28. }
  29. //出栈(弹栈),把元素删除并返回
  30. public Object pop() {
  31. return list.pop();
  32. }
  33. //获取元素个数
  34. public int size(){
  35. return list.size();
  36. }
  37. }
  38. //使用LinkedList模拟队列的数据结构存储方式
  39. class TeamList{
  40. LinkedList list;
  41. public TeamList(){
  42. list = new LinkedList();
  43. }
  44. public void add(Object o){
  45. list.offer(o);
  46. }
  47. public Object remove(){
  48. return list.poll();
  49. }
  50. public int size(){
  51. return list.size();
  52. }
  53. }
  54. public class Demo1 {
  55. public static void main(String[] args) {
  56. TeamList list = new TeamList();
  57. list.add("李嘉诚");
  58. list.add("马云");
  59. list.add("王健林");
  60. for(int i=0; i<list.size(); i++){//注意这里的list.size()大小在变化。。
  61. System.out.println(list.remove());
  62. }
  63. while(list.size() > 0){
  64. System.out.println(list.remove());
  65. }
  66. // System.out.println(list.pop());
  67. // System.out.println(list.pop());
  68. // System.out.println(list.pop());
  69. // System.out.println(list.pop());
  70. }
  71. }

版权声明:本文为QQ1012421396原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。