c# – 等待列表时间计算
发布时间:2020-12-15 23:23:27 所属栏目:百科 来源:网络整理
导读:想象一下,我有一个等待列表,队列中有以下内容 Service 1 - 5 minutesService 2 - 10 minutesService 3 - 5 minutesService 4 - 15 minutesService 5 - 20 minutes 如果我有两名工作人员为队列中的这5个客户提供服务,我怎么能估计下一个人在商店走路的等待时
想象一下,我有一个等待列表,队列中有以下内容
Service 1 - 5 minutes Service 2 - 10 minutes Service 3 - 5 minutes Service 4 - 15 minutes Service 5 - 20 minutes 如果我有两名工作人员为队列中的这5个客户提供服务,我怎么能估计下一个人在商店走路的等待时间. 解决方法
实际上它非常简单 – 它是
“W” queue model as described by Eric Lippert.
设置一个数组两个“员工”成员: List<int>[] staff = new [] {new List<int>(),new List<int>()}; 定义你的队列: int[] queue = new int[] {5,10,5,15,20}; 然后模拟处理 – 每个后续客户将转到首先完成的服务商: foreach (int i in queue) { List<int> shortest = staff.OrderBy(s=>s.Sum()).First(); shortest.Add(i); } “下一个”进入的人必须等到第一个服务商免费,这是每个服务客户的总和: int nextTime = staff.Min(s=>s.Sum()); Console.WriteLine("The wait time for the next customer is {0} minutes",nextTime); 输出:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |