zoukankan      html  css  js  c++  java
  • JAVA基础知识(2)--队列的操作

    队列是一种线性表,它只允许在该表中的一端插入,在另一端删除。

    允许插入的一端叫做队尾(rear),允许删除的一端叫做队头(front);

    下面用Java的数组进行模拟队列的操作:

    /**2015-07-26 18:49:08
    *用数组元素来演示队列的内部操作
    *@author lihaiming
    *Email:912547587@qq.com
    */
    import java.util.Scanner;

    public class Queue {
    //属性变量
    private int[] a;
    private int head=0,tail=0;
    /**
    * 无参构造方法
    * 默认数组长度为4;
    */
    public Queue(){
    a = new int[4];
    }
    /**
    * 有参构造方法
    * @param m 数组的长度
    */
    public Queue(int m){
    a = new int[m];
    }
    /**
    * 把元素放到队列的方法
    * @param i 元素值
    */
    public void push(int i){
    a[++tail]=i;
    }
    /**
    * 从队列取出元素方法
    */
    public void pop(){
    head++;
    }
    /**
    * 将队列元素依次输出方法
    */
    public void display(){
    for(int i=head+1;i<=tail;i++){
    System.out.println(a[i]);
    }
    }
    /**
    * 返回队列的元素个数
    * @return
    */
    public int Size(){
    return tail-head;
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner input = new Scanner(System.in);
    System.out.println("请输入数组的长度:");
    int m = input.nextInt();
    Queue q = new Queue(m);

    System.out.println("请依次输入队列的元素:");
    System.out.println("请按-1结束");
    int c;
    while((c=input.nextInt())!=-1){
    q.push(c);
    }
    System.out.println("依次进入队列的顺序:");
    q.display();

    System.out.print("队列里有:");
    System.out.println(q.Size()+"个元素");

    System.out.println("依次取出的顺序:");
    while(q.head != q.tail){
    System.out.println(q.a[q.head+1]);
    q.head++;
    }

    }

    }

    程序结果:

    请输入数组的长度:
    6
    请依次输入队列的元素:
    请按-1结束
    1
    4
    3
    6
    -1
    依次进入队列的顺序:
    1
    4
    3
    6
    队列里有:4个元素
    依次取出的顺序:
    1
    4
    3
    6

    首先确定一个数组的长度,这里我先确定一个长度6,依次添加数值1、4、3、6;

    -1输入结束符号

    取出的数值顺序是依然是1、4、3、6

    队列是先进先出;

  • 相关阅读:
    Jest | expect常用匹配方法
    typescript | typeScript 笔记
    好用的思维脑图
    VSCode launch.json 配置详解
    各种语法技术栈文档汇总|api文档集合
    浏览器的运行机制
    js字符串转数字长度限制|超过长度有误差
    css对话框| 气泡框| css箭头
    nginx和php-fpm的用户权限
    mac安装redis拓展
  • 原文地址:https://www.cnblogs.com/lihaiming93/p/4678449.html
Copyright © 2011-2022 走看看