`
Sunshineminyan
  • 浏览: 16654 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

实现队列

 
阅读更多
基础知识
   队列是设计程序中常用的一种数据结构。它类似日常生活中的排队现象,采用一种被称为“先进先出”(LIFO)的存储结构。数据元素只能从队尾进入,从队首取出。在队列中,数据元素可以任意增减,但数据元素的次序不会改变。每当有数据元素从队列中被取出,后面的数据元素依次向前移动一位。所以,任何时候从队列中读到的都是队首的数据。
  根据队列的特点,在队列中可以根据编程的需要定义方法,eg:向队列中插入一个新的元素,获取某个位置的元素,替换某个位置的元素,获取队列中元素的总个数。。。
public class CustomListImpl<E> implements CustomList<E>{
//定义一个长度为0的数组
private Object [] array;
//定义一个size,表示数组中元素的总数
private int size=0;
/**
* 构造方法
*/
public CustomListImpl(){
array=new Object[0];
}
/**
* 构造方法
* @param length初始队列的长度
*/
public CustomListImpl(int length){
array=new Object[length];
}
public void add(E e) {
//创建一个新的数组,长度是原始数组的长度+1
Object [] tempArray=new Object[array.length+1];
//将原始数组array中储存的值赋给tempArray
for(int i=0;i<array.length;i++){
tempArray[i]=array[i];
}
//在数组末尾添加值
tempArray[array.length]=e;
size++;
//将tempArray数组名中存储的地址赋给array数组
array=tempArray;
}

/**
* 获取指定索引位置的元素
* 判断是否越界
*/
public E get(int index) {
if(index<0||index>size-1)
return null;
return (E)array[index];
}

/**
* 获取队列中元素的总数
*/
public int size() {
// TODO Auto-generated method stub
return size;
}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics