1. 程式人生 > >堆疊、佇列資料結構的特點

堆疊、佇列資料結構的特點

堆疊資料結構儲存特點:先進後出,後進先出。 佇列資料結構的儲存特點:先進先出,後進後出。
  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. classStackList{
  21. LinkedList list;
  22. publicStackList(){
  23. list =newLinkedList();
  24. }
  25. //進棧
  26. publicvoid add(Object o){
  27. list.push(o);
  28. }
  29. //出棧(彈棧),把元素刪除並返回
  30. publicObject pop(){
  31. return list.pop();
  32. }
  33. //獲取元素個數
  34. publicint size(){
  35. return list.size();
  36. }
  37. }
  38. //使用LinkedList模擬佇列的資料結構儲存方式
  39. classTeamList{
  40. LinkedList list;
  41. public
    TeamList(){
  42. list =newLinkedList();
  43. }
  44. publicvoid add(Object o){
  45. list.offer(o);
  46. }
  47. publicObject remove(){
  48. return list.poll();
  49. }
  50. publicint size(){
  51. return list.size();
  52. }
  53. }
  54. publicclassDemo1{
  55. publicstaticvoid main(String[] args){
  56. TeamList list =newTeamList();
  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. }