数据结构-队列

前序

看到这篇文章的站长是不是很惊讶,我居然更新技术类文章了,认识我很久的站长其实早知道我是学计算机的了,不过这段时间忙别的,所以并没有写技术相关的文章,但不代表我没有学习与复习之前的东西哈。

不管写技术相关的文章,还是写事等文章,均都是原创!

照片

中午吃饭,买完饭回来的时候,在回宿舍的路上拍了几张照片,我挑选了俩张照片放出来,我感觉拍的美美哒,哈哈哈哈
南香香
南香香

源代码

public class ArrayQueryDemo {

    public static void main(String[] args) {

        boolean b=true;
        ArrayQuery query=new ArrayQuery(3);
        Scanner scanner=new Scanner(System.in);
        int a;
        while(b){
            System.out.println("请选择");
            a=scanner.nextInt();
            System.out.println("1为添加  2为取出元素  3展示头元素 4遍历数组元素");
            switch (a){

                case 1:
                    System.out.println("请输入数字 为你添加");
                    int num=scanner.nextInt();
                    query.gArrayQuery(num);
                    break;
                case 2:
                    System.out.println("取出元素");
                    query.qArrauQueery();
                    break;
                case 3:
                    System.out.println("展示头元素");
                    query.hArrayQuer();
                    break;
                case 4:
                    System.out.println("遍历数组全部元素");
                    query.array();
                    break;

                default:
                    System.out.println("输入错误");
                    b=false;
                    break;
            }
        }





    }

}


class ArrayQuery{
    private int maxSize; //表示数组最大容量
    private int front; //队列头
    private int rear; //队列尾
    private int arr[];//存放数据


    //队列构造器
    public ArrayQuery (int maxSizes){
        maxSize=maxSizes;
        arr=new int[maxSize];
        front =0;
        rear =-1;
    }


    //添加
    public void gArrayQuery(int flag){
         rear++;
         arr[rear]=flag;
    }


    public void qArrauQueery(){
        System.out.println("取出的数字为"+arr[front]);
        front++;
    }

    public void hArrayQuer(){
        System.out.println("当前头元素"+arr[front]);
    }

    public void array(){
        for (int i=front;i<arr.length;i++){
            System.out.print(arr[i]+"     ");
        }
        System.out.println();
    }
  
}

说明

1、队列功能基本实现,但是存在许多bug
2、所以这个也会有第二版的,第二版准备明天晚上写写,也就是下篇文章,循环队列
循环队列应该可以解决现在这个代码的大部分bug
3、现在最主要的bug就是,数组的内存不能重复利用,我放出一张图就明白了!
南香香

读者与闺蜜

是我网站的读者也是我的闺蜜
南香香

评论区
头像
    头像
    二猫
      

    依旧看不懂

    头像

    做编程用的比较多的就是队列了。

      头像
      南香香
        
      @夏日博客

      这个就不太清楚了,反正目前我是一个一个看的,一方面是考研用一方面是自己好好认真学下