数组模拟队列

数组模拟队列

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class ArrayQueue {

public static void main(String[] args) throws IOException {

ArrayQ arrayQ = new ArrayQ(5);

while (true){

System.out.println("选择你要的服务:");

System.out.println("输入1:添加新元素");

System.out.println("输入2:删除指定个数元素");

System.out.println("输入3:使用指定个数元素");

System.out.println("输入0:展示全部队列");

System.out.println("我选择:");

switch (getIf()) {

case 1: {

System.out.println("需要添加的元素是:");

arrayQ.add(getIf());

break;

}

case 2: {

System.out.println("需要删除的元素个数是:");

arrayQ.delete(getIf());

}

case 3: {

System.out.println("需要使用的元素个数是:");

arrayQ.use(getIf());

}

case 0: {

arrayQ.shows();

}

}

}}

private static int getIf() throws IOException {

InputStreamReader inp;

BufferedReader br;

inp = new InputStreamReader(System.in);

br = new BufferedReader(inp);

return Integer.parseInt(br.readLine());

}

}

class ArrayQ {

private int maxize;

private int front = -1;

private int rear = -1;

private int[] arr;

public ArrayQ(int maxize) {

this.maxize = maxize;

arr = new int[this.maxize];

}

public void shows() {

for (int i = 0; i <= rear; i++){

System.out.print(arr[i] + " " + i + ",");}

System.out.println();

}

public boolean isEmpty() {

return rear == front;

}

public void add(int s) {

if (isFull()) throw new RuntimeException("队列已满");

arr[++rear] = s;

}

public void delete(int i) {

while (i >= 0) {

arr[rear--] = 0;

i--;

}

}

public boolean isFull() {

return rear == maxize - 1;

}

public void use(int i) {

for (int n = 0; n < i; n++) {

System.out.println(arr[front + 1]);

for (int m = 0; m <= rear; m++) {

arr[m] = arr[m + 1];

}

rear--;

if (isEmpty()) {

throw new RuntimeException("队列已空");

}

}

}

}

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

推荐阅读更多精彩内容

  • 1 数组也是一种类型 Java中要求所有的数组元素具有相同的数据类型。因此在一个数组中,数组元素的类型是唯一的,不...
    9K账号阅读 503评论 0 0
  • 1稀疏数组 没什么好说的,挺简单的。就是讲数组转换为n行3列的二维数组。 接下来是代码 package com.a...
    文茶君阅读 265评论 0 0
  • 一 数据结构 1 算法概述 算法概述 算法:是解决特定问题求解步骤的描述,在计算机中表现为指令的有序序列,并且指令...
    Padingpading阅读 837评论 0 0
  • /* 查: 显示所有元素 显示头元素 存: 取: 注:判断队是否满或者空 */ import java.ut...
    馒头公子阅读 371评论 0 1
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,629评论 0 11