• java队列的实现


    原文:http://www.cnblogs.com/Eason-S/p/5505837.html

    队列也可以通过数组和链表两种方式来实现。

     1、链表方式实现

    复制代码
     1 class Node{
     2     Node next = null;
     3     int data;
     4     public Node(int data){this.data = data;}
     5 }
     6 
     7 public class MyQueue<E>{
     8     private Node<E> head = null;
     9     private Node<E> tail = null;
    10 
    11     public boolean isEmpty(){
    12         return head == tail;
    13     }
    14 
    15     public void put(E data){
    16         Node<E> newNode = new Node<E>(data);
    17         if(head==null && tail==null){//队列为空
    18             head = newNode;
    19             tail = newNode;
    20         }
    21         else {
    22             tail.next = newNode;
    23             tail = newNode;
    24         }
    25     }
    26 
    27     public E pop(){
    28         if(this.isEmpty())
    29             return null;
    30         E data = head.data;
    31         head = head.next;
    32         return data;
    33     }
    34 
    35     public int size(){
    36         Node<E> tmp = head;
    37         int n = 0;
    38         while (tmp!=null) {
    39             n++;
    40             tmp = tmp.next;
    41         }
    42         return n;
    43     }
    44 }
    复制代码

     2、list方式实现

    复制代码
     1 public class MyQueue<E>{
     2     private Linkedlist<E> list = new Linkedlist<E>();
     3     private int size = 0;
     4     public synchronized void put(E e){
     5         list.addLast(e);
     6         size++;
     7     }
     8 
     9     public synchronized E pop(){
    10         size--;
    11         return list.removeFrist();
    12     }
    13 
    14     public synchronized boolean empty(){
    15         return size == 0;
    16     }
    17 
    18     public synchronized int size(){
    19         return size;
    20     }
    21 }
    复制代码
  • 相关阅读:
    类的加载过程
    算法模板之基数排序
    算法模板之Dijkstra
    算法模板之SPFA
    算法模板之树状数组
    算法模板之排序
    深入JVM-自动内存管理(读书笔记)
    VMware Fault-Tolerant Virtual Machine 论文总结
    深入JVM--高效并发(读书笔记)
    欧拉素数筛
  • 原文地址:https://www.cnblogs.com/gyadmin/p/8058777.html
Copyright © 2020-2023  润新知