队列的存入和取出

一、基本概念

     1、队列:队列是允许在一端进行插入、而在另一端进行删除的线性表。

     2、队尾:允许插入的一端称为队尾,通常用一个尾指针(rear)的指针指向队尾元素,即        尾指针总是指向最后被插入的元素。

     3、队头:允许删除的一端称为队头,通常用一个排头指针指向排头元素的前一个位置。

二、队列运算

     1、入队运算

            入队运算是指在队列的队尾加入一个新元素。操作步骤如下:

           Step1:首先判断队列是否满。当队尾指针=数组的最大容量-1时,队列已满,不能进行入队运算。

           Step2:然后将队尾指针进一(rear++)。

           Step3:将新元素x插入到队尾指针指向的位置。

     2、退队运算

            退队运算是指在队列的排头位置退出一个元素并赋给指定变量。操作过程如下:

           Step1:首先判断队列是否空。当排头指针等于队尾指针时,队列已空,不能进行退队运算。

           Step2:然后将排头指针进一(front++)。

           Step3:然后在将排头指针指向位置的后一个位置的元素赋给指定的变量。(不同数组的缺省值不一,根据具体情况而定。)

三、代码实现(Java为例)

ublic class DEMO {
    public static void main(String[] args) {
        int[]arr1 =new int[7];
        int rear = -1;
        int front = -1;//初始化队列数组。
        int []arr2 = new int[]{1,2,3,4,5,6,7,8,9};//声明一个一维数组,方便向数组队列中加入数据。
        int []arr3 = new int[9];
        for(int i =0;i<=arr2.length-1;i++){
            if(rear!=7-1){//判断队列数组是否已满
               rear++;
               arr1[rear]=arr2[i];
        }
        else {
            System.out.println("队列已满,无法存入数据。");
        }

                   }
        for (int i=0;i<= arr3.length-1;i++){
            if (front!=rear){
                arr3[i]=arr2[front+1];
                arr2[front+1]=0;//int类型数组的缺省值为0。
                front++;
            }
            else {
                System.out.println("队列已空。");
            }

        }
       
    }
}

新手无喷

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值