欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java用數(shù)組實現(xiàn)循環(huán)隊列的示例

 更新時間:2017年09月13日 09:05:56   作者:Struggle4L  
下面小編就為大家?guī)硪黄狫ava用數(shù)組實現(xiàn)循環(huán)隊列的示例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

復(fù)習(xí)了下數(shù)據(jù)結(jié)構(gòu),用Java的數(shù)組實現(xiàn)一下循環(huán)隊列。

隊列的類

//循環(huán)隊列
class CirQueue{
 private int QueueSize;
 private int front;
 private int rear;
 private int[] queueList ;
 
 public CirQueue(int QueueSize){
  this.QueueSize = QueueSize; 
  queueList = new int[QueueSize];
  front = 0;
  rear = 0;
 }
 
 //獲取隊列頭元素
 public int getQueueElement(){
  //如果隊列不為空,返回隊頭元素,否則拋出異常提示隊列為空
  int element = -1;
  if(!isEmpty()){
   element = queueList[front];
   return element;
  }
  else {
   System.out.println("隊列為空");
   return -1;
  }
  
 }
 
 //出隊
 public int deQueue(){
  int element = -1;
  if(!isEmpty()){
   element = queueList[front];
   front =(front+1)%QueueSize;
   return element;
  }
  else {
   System.out.println("隊列為空");
   return -1;
  }
  
 }
 
 
 
 
 
 //入隊
 public void enQueue(int element){
  //如果隊列未滿,添加元素到隊尾,否則提示隊列已滿
  if(!isFull()){
   queueList[rear] = element ;
   rear = (rear+1)%QueueSize;
   
  }
  else {
   System.out.println("隊列已滿");
  }
 }
 
 //判斷隊列是否為空
 public boolean isEmpty(){
  boolean b = false;
  if(rear == front)
   b = true;
  return b;
 }
 
 
 //判斷隊列是否已滿
 public boolean isFull(){
  boolean b = false;
  if((rear+1)%QueueSize == front)
   b = true;
  return b;
 }

}

創(chuàng)建對象并測試

package com.test;

import java.util.*;


public class StructTest {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  
  //新建并初始化存儲空間為3的循環(huán)隊列(方便判斷隊滿條件,浪費一個數(shù)組空間)
  CirQueue cirQueue = new CirQueue(4);
  //入隊3個元素
  cirQueue.enQueue(1);
  cirQueue.enQueue(2);
  cirQueue.enQueue(3);
  
  //獲取隊頭元素,獲取 但不改變隊列
  int temp = cirQueue.getQueueElement();
  System.out.println(temp);
  
  //出隊 獲取隊頭元素,并且隊頭指針往后移一位
  temp = cirQueue.deQueue();
  System.out.println(temp);
  
  //再次獲取隊頭元素
  temp = cirQueue.getQueueElement();
  System.out.println(temp);
  
  
 }

}

輸出:

1
1
2

以上這篇Java用數(shù)組實現(xiàn)循環(huán)隊列的示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于Java Spring三級緩存和循環(huán)依賴的深入理解

    關(guān)于Java Spring三級緩存和循環(huán)依賴的深入理解

    對于循環(huán)依賴,我相信讀者無論只是聽過也好,還是有過了解也好,至少都有所接觸。但是我發(fā)現(xiàn)目前許多博客對于循環(huán)依賴的講解并不清楚,都提到了Spring的循環(huán)依賴解決方案是三級緩存,但是三級緩存每一級的作用是什么,很多博客都沒有提到,本篇文章帶你深入了解
    2021-09-09
  • Java手動創(chuàng)建線程池代碼實例

    Java手動創(chuàng)建線程池代碼實例

    這篇文章主要介紹了Java手動創(chuàng)建線程池代碼實例,FixedThreadPool或者SingleThreadPool,允許的請求隊列長度為Integer.MAX_VALUE,可能會堆積大量的請求,從而導(dǎo)致OOM,需要的朋友可以參考下
    2023-12-12
  • Java消息隊列JMS實現(xiàn)原理解析

    Java消息隊列JMS實現(xiàn)原理解析

    這篇文章主要介紹了Java消息隊列JMS實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 超好用的Java工具類庫Hutool用法詳解

    超好用的Java工具類庫Hutool用法詳解

    Hutool是一個小而全的Java工具類庫,通過靜態(tài)方法封裝,降低相關(guān)API的學(xué)習(xí)成本,提高工作效率,下面就跟隨小編一起來學(xué)習(xí)一下Hutool的具體用法吧
    2023-09-09
  • spring?webClient配置及使用簡單代碼示例

    spring?webClient配置及使用簡單代碼示例

    WebClient是Spring框架5.0引入的基于響應(yīng)式編程模型的HTTP客戶端,它提供一種簡便的方式來處理HTTP請求和響應(yīng),支持異步和非阻塞式的請求和響應(yīng)處理,下面這篇文章主要給大家介紹了關(guān)于spring?webClient配置及使用的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • Java編程實現(xiàn)統(tǒng)計數(shù)組中各元素出現(xiàn)次數(shù)的方法

    Java編程實現(xiàn)統(tǒng)計數(shù)組中各元素出現(xiàn)次數(shù)的方法

    這篇文章主要介紹了Java編程實現(xiàn)統(tǒng)計數(shù)組中各元素出現(xiàn)次數(shù)的方法,涉及java針對數(shù)組的遍歷、比較、運算等相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • javacv開發(fā)詳解之調(diào)用本機攝像頭視頻

    javacv開發(fā)詳解之調(diào)用本機攝像頭視頻

    這篇文章主要介紹了javacv開發(fā)詳解之調(diào)用本機攝像頭視頻,對javacv感興趣的同學(xué),可以參考下
    2021-04-04
  • Springmvc Controller接口代碼示例

    Springmvc Controller接口代碼示例

    這篇文章主要介紹了Springmvc Controller接口代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 關(guān)于在Java中如何使用yaml的實例

    關(guān)于在Java中如何使用yaml的實例

    這篇文章主要介紹了關(guān)于在Java中如何使用yaml的實例,YAML是一種輕量級的數(shù)據(jù)序列化格式。它以易讀、易寫的文本格式表示數(shù)據(jù),支持列表、字典等各種數(shù)據(jù)結(jié)構(gòu),被廣泛應(yīng)用于配置文件、數(shù)據(jù)傳輸協(xié)議等領(lǐng)域,需要的朋友可以參考下
    2023-08-08
  • springboot數(shù)據(jù)訪問和數(shù)據(jù)視圖的使用方式詳解

    springboot數(shù)據(jù)訪問和數(shù)據(jù)視圖的使用方式詳解

    這篇文章主要為大家介紹了springboot數(shù)據(jù)訪問和數(shù)據(jù)視圖的使用方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06

最新評論