数据结构-队列

上一节我们讲解了解密QQ号,我们就用到队列的性质,队列是一种特殊的线性结构,它只允许在队列的首部进行删除操作,我们称为“出队”,而在队列的尾部进行插入的操作我们称为"入队";队列是我们以后学习广度优先搜索用到的核心数据结构。
代码实现:

import java.util.Scanner;


public class QueueApp {

    static class Queue{
        int data[] = new int [100];
        int head;//队首
        int tail;//队尾
    }
    
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        Queue queue = new Queue();
        //初始化队列
        queue.head = 1;
        queue.tail = 1;
        
        //向队列中插入数据
        for (int i=1;i<=9;i++) {
            queue.data[i] = input.nextInt();
            queue.tail++;
        }
        
        //当队列不为空的时候执行循环
        while (queue.head < queue.tail) {
            //打印队首并将队首出队
            System.out.print(queue.data[queue.head]+" ");
            queue.head++;
            
            //先将新队首的数添加到队尾
            queue.data[queue.tail] = queue.data[queue.head];
            queue.tail++;
            //再将队首出队
            queue.head++;
        }
        
    }
    
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容