public class 自己实现队列
{
private static Object[] array = new Object[10];
private static int length = 0;
public void push(T data){//入队
if(length >= array.length - 1){//当自己定义的数组长度不够时,需要扩容
Object[] o = new Object[(int)(array.length * 1.5)] ;//扩大为原来的1.5倍
System.arraycopy(array, 0, o, 0, length);//把原来的数据copy到心数据中
array = o ;//让原来的数组array指向数组o
}
array[length] = data;
length ++ ;
}
public T poll(){//实现出队
T result = (T)array[0];
for(int i = 0 ;i < length - 1; i++ ){
array[i] = array[ i + 1];
}
length --;
return result;
}
public T peek(){//返回队顶元素,但是不出队
if(length == 0 ){
return null ;
}else{
return (T)array[0];
}
}
public boolean isEmpty(){
return length == 0;
}
public static void main(String[] args) {
自己实现队列
queue = new 自己实现队列
();
queue.push("A");
queue.push("B");
queue.push("C");
queue.push("D");
queue.push("E");
queue.push("F");
queue.push("G");
queue.push("H");
queue.push("I");
queue.push("J");
queue.push("K");
queue.push("L");
queue.push("M");
while(!queue.isEmpty()){
System.out.println(queue.poll());//出队
}
}
}
自己实现队列
最新推荐文章于 2023-04-18 17:42:15 发布