• 线性结构____双链表/栈/队列


    双链表

    import java.util.LinkedList;

    public class HelloWorld {
    public static void main(String []args) {
      LinkedList<String> lList = new LinkedList<String>();
      lList.add("1");
      lList.add("2");
     lList.add("3");
     lList.add("4");
     lList.add("5");
    System.out.println(lList);
    lList.addFirst("0");
    System.out.println(lList);
    lList.addLast("6");
    System.out.println(lList);
    }
    }

    *************结果*****************

    [1, 2, 3, 4, 5]
    [0, 1, 2, 3, 4, 5]
    [0, 1, 2, 3, 4, 5, 6]

    **************************************************************************************************************************

    import java.util.Stack;
    public class HelloWorld {
    public static void main(String []args) {
    int tmp=0;
    Stack<Integer> astack = new Stack<Integer>();
    // 将10, 20, 30 依次推入栈中
    astack.push(10);
    astack.push(20);
    astack.push(30);

    // 将“栈顶元素”赋值给tmp,并删除“栈顶元素”
    tmp = astack.pop();
    System.out.printf("tmp=%d ", tmp);

    // 只将“栈顶”赋值给tmp,不删除该元素.
    tmp = (int)astack.peek();
    System.out.printf("tmp=%d ", tmp);

    astack.push(40);
    while(!astack.empty()) {
    tmp = (int)astack.pop();
    System.out.printf("tmp=%d ", tmp);
    }
    }

    }

     *************结果*****************

    tmp=30
    tmp=20
    tmp=40
    tmp=20
    tmp=10

    **************************************************************************************************************************

    队列

    import java.util.LinkedList;
    import java.util.Queue;

    public class HelloWorld {
    public static void main(String []args) {
    //add()和remove()方法在失败的时候会抛出异常(不推荐)
    Queue<String> queue = new LinkedList<String>();
    //添加元素
    queue.offer("a");
    queue.offer("b");
    queue.offer("c");
    queue.offer("d");
    queue.offer("e");
    for(String q : queue){
    System.out.println(q);
    }
    System.out.println("===");
    System.out.println("poll="+queue.poll()); //返回第一个元素,并在队列中删除
    for(String q : queue){
    System.out.println(q);
    }
    System.out.println("===");
    System.out.println("element="+queue.element()); //返回第一个元素
    for(String q : queue){
    System.out.println(q);
    }
    System.out.println("===");
    System.out.println("peek="+queue.peek()); //返回第一个元素
    for(String q : queue){
    System.out.println(q);
    }
    }
    }

     *************结果*****************

    a
    b
    c
    d
    e
    ===
    poll=a
    b
    c
    d
    e
    ===
    element=b
    b
    c
    d
    e
    ===
    peek=b
    b
    c
    d
    e

  • 相关阅读:
    第2季:从官方例程深度学习海思SDK及API
    H.264帧结构详解
    Linux内核链表
    在Sqlite中通过Replace来实现插入和更新
    mysql 里随机生成时间
    搭建Cordova + Ionic + WebStorm环境开发Web App应用
    Angular Local Storage 使用方法
    angularJS中controller与directive双向通信
    ui-router传递参数
    Sequelize 和 MySQL 对照
  • 原文地址:https://www.cnblogs.com/smallfa/p/10828076.html
Copyright © 2020-2023  润新知