Example #1
0
 //循环顺序队列sq的结构和功能完全正确 当且仅当 循环顺序队列sq在方法中输出正确的结果
 static void display(SequentialQueue <String> sq, String s)
 {
     //Node pr;
     Console.Out.WriteLine("循环顺序队列:");
     Console.Out.WriteLine(s);
     //当前链表的状态
     Console.Out.WriteLine("当前循环顺序队列的状态:");
     Console.Out.Write("sizeAll = " + sq.GetSizeAll() + "   ");
     Console.Out.Write("sizeUsed = " + sq.GetSizeUsed() + "   ");
     Console.Out.Write("isEmpty = " + sq.GetIsEmpty() + "   ");
     Console.Out.WriteLine("isFull = " + sq.GetIsFull() + "   ");
     //当前的链表内容为
     Console.Out.WriteLine("当前的循环顺序队列内容为:");
     if (sq.GetIsEmpty() == false)
     {
         String value = "";
         for (Int32 i = 1; i <= sq.GetSizeUsed(); i++)
         {
             value = sq.IndexToValue(i);
             Console.Out.Write(value + "   ");
         }
         Console.Out.WriteLine("");
     }
     else
     {
         Console.Out.WriteLine("");
     }
     Console.Out.WriteLine();
 }
Example #2
0
        Boolean _switch;                        //如果为true,那么切换到下一位患者(用于模拟过程)

        /*      对象:构造与析构方法      */

        //构造方法(4个参数)
        public Device(String id, String name, DeviceDepartment department, String other)
        {
            SetId(id);
            SetName(name);
            SetDepartment(department);
            SetOther(other);
            _patientNow  = null;
            _patientWait = new SequentialQueue <Patient>(128);
            _workTime    = 0;
            SetSwitchTime(0);
            SetSwitch(true);
        }
Example #3
0
        Boolean _switch;                        //如果为true,那么切换到下一位患者(用于模拟过程)

        /*      对象:构造与析构方法      */

        //构造方法(4个参数)
        public Doctor(String id, String name, DoctorDepartment department, String other)
        {
            SetId(id);
            SetName(name);
            SetDepartment(department);
            SetOther(other);
            _patientNow  = null;
            _patientWait = new SequentialQueue <Patient>(64);
            _afterCheck  = new SequentialQueue <Patient>(64);
            _workTime    = 0;
            SetSwitchTime(0);
            SetSwitch(true);
        }
Example #4
0
        static void Main(string[] args)
        {
            String temp = "";

            //初始化测试
            SequentialQueue <String> test1 = new SequentialQueue <String>(10);
            SequentialQueue <String> test2 = new SequentialQueue <String>(6);

            //输出
            display(test1, "test1");
            display(test2, "test2");
            Console.ReadLine();
            Console.Clear();

            //入队测试1
            for (int i = 1; i <= 8; i++)
            {
                test1.enterElem(i.ToString());
                test2.enterElem(i.ToString());
                //输出
                display(test1, "test1");
                display(test2, "test2");
                Console.ReadLine();
                Console.Clear();
            }

            //出队测试
            for (int i = 1; i <= 8; i++)
            {
                test1.quitElem();
                test2.quitElem(ref temp);
                //输出
                display(test1, "test1");
                display(test2, "test2");
                Console.ReadLine();
                Console.Clear();
            }

            //入队测试2
            for (int i = 1; i <= 16; i++)
            {
                test1.enterElem(i.ToString());
                test2.enterElem(i.ToString());
            }
            //输出
            display(test1, "test1");
            display(test2, "test2");
            Console.ReadLine();
            Console.Clear();

            //搜索测试
            Int32 location = 0;

            display(test1, "test1");
            for (Int32 i = 1; i <= 12; i++)
            {
                Console.Out.WriteLine("查找数据:" + i);
                test1.ValueToIndex(ref location, i.ToString());
                Console.Out.WriteLine("位置信息:" + location);
                Console.Out.WriteLine();
            }
            Console.ReadLine();
            Console.Clear();
            display(test2, "test2");
            for (Int32 i = 1; i <= 12; i++)
            {
                Console.Out.WriteLine("查找数据:" + i);
                test2.ValueToIndex(ref location, i.ToString());
                Console.Out.WriteLine("位置信息:" + location);
                Console.Out.WriteLine();
            }
            Console.ReadLine();
            Console.Clear();

            //清空测试
            test1.clear();
            test2.clear();
            //输出
            display(test1, "test1");
            display(test2, "test2");
            Console.ReadLine();
            Console.Clear();

            //GetValue方法在已经被多次用在display方法中,无需再次测试

            //结束
            Console.Out.WriteLine("测试结束!");
            Console.Out.WriteLine();
            Console.Out.WriteLine("按任意键退出...");
            Console.ReadLine();
        }