Queue-C#数组构建队列

来源:互联网 发布:卫宁软件科技有限公司 编辑:程序博客网 时间:2024/06/06 00:33

 /*@file Queue.cs*/
/*功能:用ArrayList构造Queue*/
/*验证:用VS2005编译OK With chinayaosir*/
using System;
using System.Collections;
using System.Text;

namespace test
{
    public class Queue
    {
        private ArrayList alist;
        private int count;

        //0.1构造函数
        public Queue() {
            alist = new ArrayList();
            count=0;
        }

        //0.2清空队列
        public void Clear(){
            alist.Clear();
            count=0;
        }
        //0.3元素个数
        public int Count(){
            return count;           
        }
        //0.4Print()
        public void Print() {
            for (int i = 1; i < count; i++)
                System.Console.Write(alist[i] + " ");
            System.Console.WriteLine();
        }

        //1.入队
        public void Eequque(object item)
        {
            alist.Add(item);
            count++;
        }
        //2.出队
        public void Dequque()
        {
            alist.RemoveAt(0);
            count--;
        }
        //3取队首元素
        public object Peek()
        {
            return alist[0];
        }

        public static void Main(string[] args) {

            Queue q1 = new Queue();
            //入队10-20
            System.Console.WriteLine("q1.Eequque(10-20)");
            for(int i=10;i<=20;i++)
            q1.Eequque(i);
            q1.Print();
            System.Console.WriteLine("q1.Count()=" + q1.Count());
            System.Console.WriteLine("q1.Peek()=" + q1.Peek());
            System.Console.WriteLine("q1.Dequque()" );
            q1.Dequque();
            q1.Print();
            q1.Clear();
            System.Console.Read();
        }
    }
}
/*
 * 运行结果
q1.Eequque(10-20)
11 12 13 14 15 16 17 18 19 20
q1.Count()=11
q1.Peek()=10
q1.Dequque()
12 13 14 15 16 17 18 19 20
  */

原创粉丝点击