某校2019专硕编程题-队列
题目
在循环队列中设置一个循环队列flag,当flag=rear且flag=0时为队空,当flag=1,flag=rear时队满。请编写相应的入队和出队算法。(假设队头元素指向队头位置的前一个元素)。
static int QueueSize = 100;static class CirQueue{int[] data = new int[QueueSize];int front,rear; //队头队尾指针int flag;public void Enqueue(int x);public int DeQueue();}
分析
- 队列的性质:先进先出,后进后出。
- 封装数组进行队列实现
- 循环队列
Java实现
static int QueueSize = 100;static class CirQueue{int[] data = new int[QueueSize];int front,rear; //队头队尾指针int flag;public void Enqueue(int x){if (flag != 1){data[rear] = x;if (rear+1 == QueueSize) rear = 0;else rear++;if (front == rear) flag = 1;else flag = -1; }if (flag == 1){System.out.println("队列以满");}}public int DeQueue(){if (flag != 0){int num = data[front];data[front] = 0;if (front+1 == QueueSize) front = 0;else front++;if (front == rear) flag = 0;else flag = -1; return num;}if (flag == 0) {System.out.println("队列以空");}return 0;}};
测试
public static void main(String[] args){CirQueue queue = new CirQueue();//入队测试int k = 0;while (queue.flag != 1) {queue.Enqueue(k++);System.out.println("头节点:"+queue.front);System.out.println("尾节点:"+queue.rear);}//满队列测试for (int i = 101; i < 110; i++) {queue.Enqueue(i);}//出队测试for (int i = 0; i < 10; i++) {System.out.println("出队元素:"+queue.DeQueue());System.out.println("头节点:"+queue.front);System.out.println("尾节点:"+queue.rear);}//空队测试for (int i = 0; i < 100 ; i++) {System.out.println("出队元素:"+queue.DeQueue());System.out.println("头节点:"+queue.front);System.out.println("尾节点:"+queue.rear);}}
}
某校2019专硕编程题-队列相关推荐
- 某校2019专硕编程题-前10名学生成绩
问题 输入学生成绩,并按输入顺序编号,再按成绩进行降序排序,输出前10名的学生成绩,如果学生人数不足十人则只输出仅有的学生成绩. 例如 输入20 30 40 50 70 -1(结束),输出:X号,XX ...
- 某校2019专硕编程题-排序
题目 任意输入四个数,要求将该四个数进行由大到小排序并输出. Java实现 冒泡排序 public static void test03(){Scanner sc = new Scanner(Syst ...
- 某校2019专硕编程题-完全数
题目 一个数如果恰好等于它的因子之和,这个数被称为"完全数". 例如6的因子为1,2,3 而6 = 1+2+3.编写程序找出1000内的所有完全数,并按照以下格式输出:6 its ...
- 某校2019专硕编程题-平方根
问题 从键盘上输入一个小于1000的整数,要求输出它的平方根(如果平方根不是正数,则输出其整数部分).要求在输入数据后先对其检查是否为小于1000的正数.若不是则要求重新输入. Java实现 publ ...
- 某校2019专硕编程题-素数和
题目 输入正整数,输出比n大的5个最小素数之和.素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因素.例如,输入1,则输出28. Java实现 public static void test ...
- 某校2019专硕编程题-简易计算器
题目 编写一个简易计算器,要求具备加减乘除和退出的功能. 分析 进入界面 根据不同的指令调用加减乘除方法 输出结果 Java实现 public static void test09(){Scanner ...
- 某校2019专硕编程题-学生成绩评级
题目 学生成绩根据不同的分数段可以对应不同的分数等级,例如90 - 100 分为 A:80 - 90 分为B:70 - 79分为C:60 - 69分为D:60分以下为E.要求输入百分制的学生成绩,且输 ...
- 某校2019专硕编程题-逆序输出奇数
题目 输入8个正整数,逆序输出其中的奇数.例如:输入1 2 3 4 5 6 7 8,应输出 7 5 3 1 Java实现 public static void test01(){Scanner sc ...
- 某校2018专硕编程题-方阵求和
问题 编程题:输入整数N(N<=2<=10),再输入N*N方阵中的全部数据,计算方正每列元素的最大值之和,并输出. 例如:4*4的方阵数据如下: 1 2 3 4 5 6 7 2 6 7 8 ...
最新文章
- CNCF案例研究:奇虎360
- 简单工厂模式(StaticFactoryMethod)
- jquery 中 fn.apply(this, arguments)是什么函数?有什么作用?能举个例子吗
- 电源芯片选择DC/DC还是LDO?《转》
- js的正则表达,只允许数字和特殊
- Java复习第三天-静态方法
- 解决springmvc加载JS,CSS等文件问题【转】
- fir.im分发平台安卓苹果应用下载二维码合并步骤
- volatility内存取证
- 微信小程序布局技巧(二)
- 对偶式与反函数_.数字逻辑.对偶式与反函数.数字逻辑下,对偶式与反函数和原函数的关系是什么?...
- 如何找对另一半--第一章 品格与择偶关系
- 3D动画展示--3D图片旋转展示
- 黄金矿工java_欢乐黄金矿工游戏
- 从12306.cn谈大网站架构与性能优化
- 医院挂号系统代码_人脸识别+身份绑定!高科技精准打击医院号贩子
- dax和m的区别_德国股票指数DAX, MDAX与TecDAX的区别是什么?
- “五年饮冰,难凉热血”,一名专科生的求学历程
- 计算机拒绝目标用户,由于目标计算机主动拒绝,无法建立连接127.0.0.1:8082
- 基于Docker快速搭建蜜罐Dionaea(30)