数组实现队列
程序员文章站
2024-03-18 10:59:58
...
队列是一种线性表,在java中可以用两个数组的交换来实现,以下是我写的用数组来实现队列的代码:
public class Queue {
/**
* 定义一个长度为0的Object类型的数组
*/
private Object [] StrcA = new Object[0];
/**
* 定义一个向队列中添加元素的方法
* @param ob
*/
public void add(Object ob){
Object [] StrcB = new Object[StrcA.length+1];
for(int i=0;i<StrcA.length;i++){
StrcB[i]=StrcA[i];
}
StrcB[StrcA.length]=ob;
StrcA=StrcB;//将两个数组进行交换
}
/**
* 定义在队列中取出一个元素的方法
* @param num
* @return
*/
public int get(int num){
System.out.println(StrcA[num]);
return num;
}
/**
* 定义在队列中删除一个元素的方法
* @param num
*/
public void delete(int num){
Object [] StrcB = new Object [StrcA.length];
for(int i=0;i<num-1;i++){
StrcB[i]=StrcA[i];
System.out.println(StrcB[i]);
}
for(int j=num;j<StrcA.length;j++){
StrcB[j]=StrcA[j];
System.out.println(StrcB[j]);
}
StrcA=StrcB;
System.out.println("删除掉的元素是第"+num+"号元素");
}
/**
* 定义队列的遍历函数
*/
public void printf(){
for(int i=0;i<StrcA.length;i++){
System.out.println("第"+(i+1)+"号元素是"+StrcA[i]);
}
}
}