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

java數(shù)據(jù)結(jié)構(gòu)與算法之雙向循環(huán)隊列的數(shù)組實現(xiàn)方法

 更新時間:2016年08月09日 11:36:32   作者:modun  
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之雙向循環(huán)隊列的數(shù)組實現(xiàn)方法,結(jié)合實例形式分析了雙向循環(huán)隊列的原理與數(shù)組實現(xiàn)技巧,并附帶說明了該算法的用途,需要的朋友可以參考下

本文實例講述了java數(shù)據(jù)結(jié)構(gòu)與算法之雙向循環(huán)隊列的數(shù)組實現(xiàn)方法。分享給大家供大家參考,具體如下:

需要說明的是此算法我并沒有測試過,這里給出的相當(dāng)于偽代碼的算法思想,所以只能用來作為參考!

package source;
public class Deque {
 private int maxSize;
 private int left;
 private int right;
 private int nItems;
 private long[] myDeque;
 //constructor
 public Deque(int maxSize){
 this.maxSize = maxSize;
 this.myDeque = new long[this.maxSize];
 this.nItems = 0;
 this.left = this.maxSize;
 this.right = -1;
 }
 //insert a number into left side
 public void insertLeft(long n){
 if(this.left==0) this.left = this.maxSize;
 this.myDeque[--this.left] = n;
 this.nItems++;
 }
 //insert a number into right side
 public void insertRight(long n){
 if(this.right==this.maxSize-1) this.right = -1;
 this.myDeque[++this.right] = n;
 this.nItems++;
 }
 //remove from left
 public long removeLeft(){
 long temp = this.myDeque[this.left++];
 if(this.left==this.maxSize) this.left = 0;
 this.nItems--;
 return temp;
 }
 //remove from right
 public long removeRight(){
 long temp = this.myDeque[this.right--];
 if(this.left==-1) this.left = this.maxSize-1;
 this.nItems--;
 return temp;
 }
 //return true if deQue is empty
 public boolean isEmpty(){
 return (this.nItems==0);
 }
 //return size of the deQue
 public int size(){
 return this.nItems;
 }
}

PS:雙向循環(huán)隊列的用處很大,可以做為普通隊列,也可以用來做棧來用!

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • Java以編程方式實現(xiàn)JAR文件的創(chuàng)建

    Java以編程方式實現(xiàn)JAR文件的創(chuàng)建

    在這篇文章中,我們將為大家詳細介紹一下利用Java語言以編程方式創(chuàng)建jar文件的過程。文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-07-07
  • 淺析Java 對象引用和對象本身

    淺析Java 對象引用和對象本身

    這篇文章主要介紹了Java 對象引用和對象本身的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-08-08
  • Java和JVM的重載識別,重寫方法是怎樣進行的

    Java和JVM的重載識別,重寫方法是怎樣進行的

    這篇文章主要介紹了Java和JVM的重載識別,重寫方法是怎樣進行的,違章圍繞了Java和JVM的重載識別,重寫方法展開相關(guān)資料,需要的小伙伴可以參考一下,希望對你的工作或?qū)W習(xí)有所幫助
    2022-01-01
  • Spring JDK動態(tài)代理實現(xiàn)過程詳解

    Spring JDK動態(tài)代理實現(xiàn)過程詳解

    這篇文章主要介紹了Spring JDK動態(tài)代理實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Java項目導(dǎo)出數(shù)據(jù)為 PDF 文件的操作代碼

    Java項目導(dǎo)出數(shù)據(jù)為 PDF 文件的操作代碼

    一個小需求,需要將頁面上的數(shù)據(jù)導(dǎo)出為PDF,正常情況下這個需求需要讓前端來做,但是現(xiàn)在上面讓咱們后端來做,也沒問題,這篇文章主要介紹了Java項目導(dǎo)出數(shù)據(jù)為 PDF 文件的操作代碼,需要的朋友可以參考下
    2022-12-12
  • Java設(shè)計模式之工廠模式實現(xiàn)方法詳解

    Java設(shè)計模式之工廠模式實現(xiàn)方法詳解

    這篇文章主要介紹了Java設(shè)計模式之工廠模式實現(xiàn)方法,結(jié)合實例形式較為詳細的分析了工廠模式的分類、原理、實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下
    2017-12-12
  • 樹,二叉樹(完全二叉樹,滿二叉樹)概念圖解

    樹,二叉樹(完全二叉樹,滿二叉樹)概念圖解

    今天小編就為大家分享一篇關(guān)于二叉樹的圖文詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧,希望能對你有所幫助
    2021-07-07
  • java網(wǎng)絡(luò)編程之識別示例 獲取主機網(wǎng)絡(luò)接口列表

    java網(wǎng)絡(luò)編程之識別示例 獲取主機網(wǎng)絡(luò)接口列表

    一個客戶端想要發(fā)起一次通信,先決條件就是需要知道運行著服務(wù)器端程序的主機的IP地址是多少。然后我們才能夠通過這個地址向服務(wù)器發(fā)送信息。
    2014-01-01
  • springboot2學(xué)習(xí)世界著名程序springboot開發(fā)體驗

    springboot2學(xué)習(xí)世界著名程序springboot開發(fā)體驗

    這篇文章主要為大家介紹了世界著名程序springboot開發(fā)體驗,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • java的泛型你真的了解嗎

    java的泛型你真的了解嗎

    這篇文章主要為大家詳細介紹了java的泛型,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03

最新評論