import java.util.Scanner;
public class ArrayQueueDemo {
public static void main(String[] args) { // TODO Auto-generated method stub //测试 //创建一个队列 ArrayQueue queue = new ArrayQueue(3); char key = ' '; //用于接收用户的输入 Scanner scanner = new Scanner(System.in); boolean loop = true; //输出一个菜单 while(loop) { System.out.println("s(show): 显示队列"); System.out.println("e(exit): 退出程序"); System.out.println("a(add): 添加数据到队列"); System.out.println("g(get): 从队列取出数据"); System.out.println("h(head): 查看队列头的数据"); key = scanner.next().charAt(0); //接收一个字符 switch(key) { case 's': queue.showQueue(); break; case 'a': System.out.println("请输入一个数:"); int value = scanner.nextInt(); queue.addQueue(value); break; case 'g': //取出数据可能会有异常,所以用try-catch捕获异常 try { int res = queue.getQueue(); System.out.printf("取出的数据是%d\n",res); }catch(Exception e){ System.out.println(e.getMessage()); } break; case 'h': //查看队列头的数据,同样需要捕获异常 try { int res = queue.headQueue(); System.out.printf("队列头的数据是%d\n",res); }catch(Exception e){ System.out.println(e.getMessage()); } break; case 'e': scanner.close(); loop = false; break; default: break; } } System.out.println("程序退出!!!"); }
}
package AliyunArithmetic;
/**
* @author Lin
* @date 2020/4/1 - 21:34
*/
public class MyQueue {
int[] elements;
public MyQueue(){
//初始化队列
elements = new int[0];
}
//入队
public void add(int element){
//创建一个新队列
int[] newArr = new int[elements.length+1];
//新队列元素替换老队列
for(int i=0;i<elements.length;i++)
{
newArr[i]=elements[i];
}
//添加的元素加入新队列
newArr[elements.length]=element;
//使用新队列替换老队列
elements=newArr;
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。