数据结构 预习日志2

问题四:

为省赛现场设计一个决赛叫号系统。所有参赛队按赛事组织文件中的赛事类别分到9个决赛室,决赛室按顺序叫号,被叫号参赛队进场,比赛结束后,下一参赛队才能进赛场。请模拟决赛叫号系统,演示省赛现场各决赛室的参赛队进场情况。(模拟时,要能直观展示叫号顺序与进场秩序一致)

模拟叫号系统:当有比赛要进行时,先取号,显示你的比赛顺序号码,以及正在比赛的队伍。
当一场比赛结束后,下一个队伍去比。(要求:使用顺序队列或链式队列实现该系统)

设计思路

将方法和执行类分开,在方法内不用写入具体的入队和出队操作,在每次调用取号操作时内部的变量内容都会加一,每次调用叫号操作时内部的变量内容都会减一,在执行类中用while语句包含着switch case语句来选择取号、叫号还是退出服务,来实现系统操作

这个实验用顺序队列比链式队列更加容易理解和实现,只需要用到顺序队列的思路,不需要写出集体的入队和出队操作来

提前写好无参构造函数,对所有可变变量赋值,在定义对象的时候使用无参构造函数,不要到后面实现的时候才另做赋值操作

 大体框架

mport java.util.Scanner;
    class LinkedQueue {
        private int front,rear;                    //声明队头和队尾
        private int count;                              //声明承载记录总人数作用的变量
        public static final int MAX = 100;//定义最大值
        private final int[] arr = new int[MAX];           //确定数组的最大值
        private int num;                          //用于承载队中人数随时变换的数据变量

        public LinkedQueue() {                       //定义无参构造方法
           
        }
        public void GetNumber(LinkedQueue a){      //用于表达取号的方法
                         
            
          
        }
        public void CallNumber(LinkedQueue a){           //用于表达叫号的方法
                                         
        }

        //以下为各个变量的getter和setter
        public int getFront() {
            return front;
        }
        
        public int getNum() {
            return num;
        }
        
        public int getCount() {
            return count;
        }
        
        //以下为判断方法
        public boolean Full(){                            //用于表达判断队满的方法
           
        }

        public boolean isEmpty() {                             //用于表达判空的方法
            
        }
    }
    public class QueueOrder {
        public static void main(String[] args){
           
                            
                switch (flag){                       
                    case 1: { 
                       
                    }

                    case 2:{                                
                        
                    }
                    case 3:
                        scan.close();
                        return;
                }
            }
        }
        
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值