java數(shù)據(jù)結(jié)構(gòu)與算法之雙向循環(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é)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
Mybatis?plus多租戶方案的實戰(zhàn)踩坑記錄
MybaitsPlus多租戶處理器是一個對于多租戶問題的解決方案,下面這篇文章主要給大家介紹了關(guān)于Mybatis?plus多租戶方案踩坑的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12
kafka topic 權(quán)限控制(設(shè)置刪除權(quán)限)
大家都知道Kafka是一個消息隊列,把消息放到隊列里邊的叫生產(chǎn)者,從隊列里邊消費(fèi)的叫消費(fèi)者。今天通過本文給大家介紹kafka topic 權(quán)限控制的相關(guān)知識,感興趣的朋友一起看看吧2021-11-11
RestTemplate發(fā)送form-data請求上傳rul資源文件及對象參數(shù)方式
這篇文章主要介紹了RestTemplate發(fā)送form-data請求上傳rul資源文件及對象參數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
SpringBoot多種環(huán)境自由切換的實現(xiàn)
本文主要介紹了SpringBoot多種環(huán)境自由切換的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
spring cloud config 配置中心快速實現(xiàn)過程解析
這篇文章主要介紹了spring cloud config 配置中心快速實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08

