• 4.6 使用链表实现栈


    可以把链表头作为栈顶,用链表作为栈的底层实现( LinkedListStack<E> implements Stack<E>),来实现出栈这样一个结构。

     1 public class LinkedListStack<E> implements Stack<E> {
     2 
     3     private LinkedList<E> list;
     4 
     5     public LinkedListStack(){
     6         list = new LinkedList<>();
     7     }
     8 
     9     @Override
    10     public int getSize(){
    11         return list.getSize();
    12     }
    13 
    14     @Override
    15     public boolean isEmpty(){
    16         return list.isEmpty();
    17     }
    18 
    19     @Override
    20     public void push(E e){
    21         list.addFirst(e);
    22     }
    23 
    24     @Override
    25     public E pop(){
    26         return list.removeFirst();
    27     }
    28 
    29     @Override
    30     public E peek(){
    31         return list.getFirst();
    32     }
    33 
    34     @Override
    35     public String toString(){
    36         StringBuilder res = new StringBuilder();
    37         res.append("Stack: top ");
    38         res.append(list);
    39         return res.toString();
    40     }
    41 
    42     public static void main(String[] args) {
    43 
    44         LinkedListStack<Integer> stack = new LinkedListStack<>();
    45 
    46         for(int i = 0 ; i < 5 ; i ++){
    47             stack.push(i);
    48             System.out.println(stack);
    49         }
    50 
    51         stack.pop();
    52         System.out.println(stack);
    53     }
    54 }
    带女朋友搬家新家条件不好,累到女朋友了,让女朋友受苦了,特此明志:每天学习,明年这个时候(20190812)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。
  • 相关阅读:
    diary and html 文本颜色编辑,行距和其它编辑总汇
    bash coding to changeNames
    virtualbox ubuntu 网络连接 以及 连接 secureCRT
    linux 学习6 软件包安装
    linux 学习8 权限管理
    vim 使用2 转载 为了打开方便
    ubuntu
    linux 学习15 16 启动管理,备份和恢复
    linux 学习 14 日志管理
    linux 学习 13 系统管理
  • 原文地址:https://www.cnblogs.com/make-big-money/p/10323301.html
Copyright © 2020-2023  润新知