• 队列


        class Program
        {
            enum DigitType { ones=1,tens=10}
            static void DisplayArray(int[] n)
            {
                for (int i = 0; i <= n.GetUpperBound(0); i++)
                {
                    Console.Write(n[i]+" ");
                }
                Console.WriteLine();
            }
    
            static void Rsot(Queue[] que,int[] n,DigitType digit )
            {
                int snum;
                for (int i = 0; i <= n.GetUpperBound(0); i++)
                {
                    if (digit==DigitType.ones)
                    {
                        snum = n[i] % 10;
                    }
                    else
                    {
                        snum = n[i] / 10;
                    }
                    que[snum].Enqueue(n[i]);
                }
            }
    
            static void BuildArray(Queue[] que,int[] n)
            {
                int y = 0;
                for (int i = 0; i <=9; i++)
                {
                    while (que[i].Count>0)
                    {
                        n[y] = Int32.Parse(que[i].Dequeue().ToString());
                        y++;
                    }
                }
            }
            static void Main(string[] args)
            {
                Queue[] numQueue=new Queue[10];
                int[] nums = new int[] { 91,46,85,15,92,35,31,22,1,12};
                for (int i = 0; i < 10; i++)
                {
                    numQueue[i] = new Queue();
                }
                DisplayArray(nums);
    
                Rsot(numQueue,nums,DigitType.ones);
                BuildArray(numQueue,nums);
                DisplayArray(nums);
    
                Rsot(numQueue,nums,DigitType.tens);
                BuildArray(numQueue,nums);
                DisplayArray(nums);
                Console.ReadLine();
            }
        }
    View Code

    优先队列

        public struct ProcessStruct
        {
            public int priority;
            public string name;
        }
        public class PQueue : Queue
        {
            public PQueue() { }
            public override object Dequeue()
            {
                object[] items;
                int min;
                items = this.ToArray();
                min = ((ProcessStruct)items[0]).priority;
                for (int i = 1; i <=items.GetUpperBound(0); i++)
                {
                    if (((ProcessStruct)items[i]).priority<min)
                    {
                        min = ((ProcessStruct)items[i]).priority;
                    }
                }
                this.Clear();
                for (int i = 0; i <=items.GetUpperBound(0); i++)
                {
                    if (((ProcessStruct)items[i]).priority == min && ((ProcessStruct)items[i]).name!="")
                    {
                        this.Enqueue(items[i]);
                    }
                }
                return base.Dequeue();
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                PQueue ewait = new PQueue();
                ProcessStruct[] ps=new ProcessStruct[4];
                ps[0].name = "aaa";
                ps[0].priority = 1;
                ps[1].name = "bbb";
                ps[1].priority = 1; 
                ps[2].name = "ccc";
                ps[2].priority =2;
                ps[3].name = "DDD";
                ps[3].priority = 3;
                for (int i = 0; i < ps.Length; i++)
                {
                    ewait.Enqueue(ps[i]);
                }
                Console.WriteLine(""+((ProcessStruct)ewait.Dequeue()).name);
                Console.ReadLine();
            }
        }
    View Code
  • 相关阅读:
    Maven 安装 / 常用配置 / 阿里maven中央仓库
    记录:框架
    Mysql配置文件详解 my.cof
    Vmware虚拟机设置静态IP地址
    虚拟机安装centos发现inet为127.0.0.1,导致Xshell连接不上
    Servlet小案例总结
    Win10 提升系统响应速度
    从顶端插入,滚动展示(Demo):
    eclipse +cygwin+C++
    大型网站技术学习-3. 容器Docker与kubernetes
  • 原文地址:https://www.cnblogs.com/futengsheng/p/7868431.html
Copyright © 2020-2023  润新知