Flask接口签名sign原理与实例代码浅析
202
2023-07-09
java数据结构与算法之双向循环队列的数组实现方法
本文实例讲述了java数据结构与算法之双向循环队列的数组实现方法。分享给大家供大家参考,具体如下:
需要说明的是此算法我并没有测试过,这里给出的相当于伪代码的算法思想,所以只能用来作为参Ozfbl考!
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(thihttp://s.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:双向循环队列的用处很大,可以做为普通队列,也可以用来做栈来用!
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Javahttp://缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~