设计一个名为Queue的类用于存储整数。在栈中,元素以“后进先出”的方式获取。在队列中,元素以“先进先出”方法获取。

72 阅读2分钟

不要自卑,去提升实力
互联网行业谁技术牛谁是爹
如果文章可以带给你能量,那是最好的事!请相信自己
加油o~

一、设计一个名为Queue的类用于存储整数。在栈中,元素以“后进先出”的方式获取。在队列中,元素以“先进先出”方法获取。该类包含:

  • 一个名为element的int[]类型的数据域,保存队列中的int值
  • 一个名为size的数据域,保存队列中的元素个数
  • 一个构造方法,以默认容量为8来创建一个Queue对象
  • 方法enqueue(int v),用于将v加入队列中
  • 方法dequeue(),用于从队列中移除元素并返回该元素
  • 方法empty(),如果队列为空,该方法返回true;
  • 方法getSize(),返回队列的大小。
  • 初始数据的大小为8。一旦元素个数超过了数组大小,数组大小将会翻倍。如果一个元素从数组的开始部分移除,你需要将数组中的所有元素往左边移动一个位置。编写一个测试程序,添加从1到20的20个数字到队列中,然后将这些数字移除并显示它们。

以下代码仅供参考
以下代码仅供参考
以下代码仅供参考

/**
 *作者:魏宝航
 *2020年11月22日,下午15:31
 */
public class test {
    public static void main(String[] args) {
        Queue queue=new Queue();
        for(int i=1;i<=20;i++){
            queue.enqueue(i);
        }
        if(queue.empty()){
            System.out.println("队列为空");
        }
        else {
            System.out.println("队列不空");
        }
        for(int i=0;i<20;i++){
            System.out.print(queue.dequeue()+" ");
        }
        System.out.println();
        if(queue.empty()){
            System.out.println("队列为空");
        }
        else {
            System.out.println("队列不空");
        }
    }
}
class Queue{
    private int[] element;
    private int size;
    public Queue(){
        element=new int[8];
    }
    public void enqueue(int v){
        if(size==element.length){
            int[] temp=element;
            element=new int[2*element.length];
            for(int i=0;i<temp.length;i++){
                element[i]=temp[i];
            }
        }
        element[size]=v;
        size++;
    }
    public int dequeue(){
        int temp=element[0];
        for(int i=0;i<element.length-1;i++){
            element[i]=element[i+1];
        }
        size--;
        return temp;
    }
    public boolean empty(){
        if(size==0)
            return true;
        return false;
    }
    public int getSize(){
        return size;
    }
}