您当前的位置: 首页 >  Java

恐龙弟旺仔

暂无认证

  • 1浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

队列(源码实现Java)

恐龙弟旺仔 发布时间:2018-03-21 14:01:02 ,浏览量:1

1.队列
    队列与栈类似,一般都是通过数组来实现相关功能,通过数组中头部指针和尾部指针的移动来保持所有数据项的位置不变
    队列特点:先进先出
2.源码实现
public class QueueDemo {

	private String[] arr;
	private int maxSize;
	private int front;//头部index
	private int rear;//尾部index
	private int nElems;//元素个数
	
	public QueueDemo(int size) {
		arr = new String[size];
		maxSize = size;
		front = 0;
		rear = -1;
		nElems = 0;
	}
	
	//从尾部添加
	public void insert(String str){
	
		if(isFull()){
			return;
		}
		if(rear == maxSize-1){//说明已经到底
			rear = -1;//从底部回转到头部重新开始赋值
		}
		
		arr[++rear] = str;
		nElems++;
	}
	
	//从头部删除数据
	public String remove(){
		if(isEmpty()){
			return "";
		}
		String str = arr[front++];//获取头部数据,并且头部指针上移一位,
		if(front == maxSize){//说明已经达到顶部,从底部重新开始
			front = 0;
		}
		nElems--;
		return str;
	}
	
	public String peekFront(){
		return arr[front];
	}
	
	public boolean isFull(){
		return nElems == maxSize;
	}
	
	public boolean isEmpty(){
		return nElems == 0;
	}
}
关注
打赏
1655041699
查看更多评论
立即登录/注册

微信扫码登录

0.0461s