亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

隊(duì)列的類

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

}

創(chuàng)建對(duì)象并測(cè)試

package com.test;

import java.util.*;


public class StructTest {

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

}

輸出:

1
1
2

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

相關(guān)文章

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

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

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

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

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

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

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

    超好用的Java工具類庫(kù)Hutool用法詳解

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

    spring?webClient配置及使用簡(jiǎn)單代碼示例

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

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

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

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

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

    Springmvc Controller接口代碼示例

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

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

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

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

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

最新評(píng)論