zoukankan      html  css  js  c++  java
  • java数据结构和算法------队列

     1 // 普通队列
     2 package iYou.neugle.list;
     3 
     4 public class MySeqQueue<T> {
     5     private SeqQueue queue = new SeqQueue();
     6 
     7     class SeqQueue {
     8         public int maxSize = 10;
     9         public T[] data = (T[]) new Object[this.maxSize];
    10         public int head = 0;// 头指针
    11         public int tail = 0;// 尾指针
    12     }
    13 
    14     // 初始化队列
    15     public void SeqQueueInit() {
    16         this.queue.head = 0;
    17         this.queue.tail = 0;
    18         System.out.println("队列初始化成功!");
    19     }
    20 
    21     // 出队
    22     public T SeqQueueOut() {
    23         if (this.queue.head == this.queue.tail) {
    24             System.out.println("队列已空,无法出队!");
    25             return null;
    26         }
    27         T data = this.queue.data[this.queue.head];
    28         this.queue.data[this.queue.head] = null;
    29         this.queue.head++;
    30         return data;
    31     }
    32 
    33     // 入队
    34     public void SeqQueueIn(T data) {
    35         if (this.queue.tail == this.queue.maxSize) {
    36             System.out.println("队列已满,无法入队!");
    37             return;
    38         }
    39         this.queue.data[this.queue.tail++] = data;
    40     }
    41 
    42     // 获取队头元素
    43     public T SeqQueuePeek() {
    44         if (this.queue.head == this.queue.tail) {
    45             System.out.println("队列已空,无法获取列头元素!");
    46             return null;
    47         }
    48 
    49         return this.queue.data[this.queue.head];
    50     }
    51 
    52     // 获取队列长度
    53     public int SeqQueueLen() {
    54         return this.queue.tail - this.queue.head;
    55     }
    56 }
     1 // 循环队列
     2 package iYou.neugle.list;
     3 
     4 public class MySeqLoopQueue<T> {
     5     private SeqQueue queue = new SeqQueue();
     6 
     7     class SeqQueue {
     8         public int maxSize = 10;
     9         public T[] data = (T[]) new Object[this.maxSize];
    10         public int head = 0;// 头指针
    11         public int tail = 0;// 尾指针
    12         public int size = 0;// 实际数
    13     }
    14 
    15     // 初始化队列
    16     public void SeqQueueInit() {
    17         this.queue.head = 0;
    18         this.queue.tail = 0;
    19         this.queue.size = 0;
    20         System.out.println("循环队列初始化成功!");
    21     }
    22 
    23     // 出队
    24     public T SeqQueueOut() {
    25         if (this.queue.size == 0) {
    26             System.out.println("循环队列已空,无法出队!");
    27             return null;
    28         }
    29         T data = this.queue.data[this.queue.head];
    30         this.queue.data[this.queue.head] = null;
    31         this.queue.size--;
    32         this.queue.head = (this.queue.head + 1) % this.queue.maxSize;
    33         return data;
    34     }
    35 
    36     // 入队
    37     public void SeqQueueIn(T data) {
    38         if (this.queue.size == this.queue.maxSize) {
    39             System.out.println("循环队列已满,无法入队!");
    40             return;
    41         }
    42         this.queue.data[this.queue.tail] = data;
    43         this.queue.size++;
    44         this.queue.tail = (this.queue.tail + 1) % this.queue.maxSize;
    45     }
    46 
    47     // 获取队头元素
    48     public T SeqQueuePeek() {
    49         if (this.queue.size == 0) {
    50             System.out.println("循环队列已空,无法获取列头元素!");
    51             return null;
    52         }
    53 
    54         return this.queue.data[this.queue.head];
    55     }
    56 
    57     // 获取队列长度
    58     public int SeqQueueLen() {
    59         return this.queue.size;
    60     }
    61 }
  • 相关阅读:
    Redis五种数据类型操作命令
    MySQL单表数据量过千万,采坑优化记录,完美解决方案
    并行的执行效率一定高于串行吗?(多线程的执行效率一定高于单线程吗?)
    Swagger2安装及使用
    MySQL单表多次查询和多表联合查询,哪个效率高?
    Java集合时间复杂度
    JAVA中常见集合的扩容
    ant design vue 之 rowKey浏览器报警告
    ant design vue中表格自带分页如何使用
    ant design vue 中表格的使用中,表格选中之后没有状态
  • 原文地址:https://www.cnblogs.com/niuxiaoha/p/4635976.html
Copyright © 2011-2022 走看看