排班表算法代码 , 没学多久 希望不要说的那么复杂

.Net技术 码拜 9年前 (2016-03-11) 3376次浏览
一共5个人 ,早班一人 午班一人 晚班两人 周末晚班3人
一个星期换一次班
周一到周五每人休息一次 例如早班休息 中班顶上,中班休息晚班顶上
解决方案

60

一共就5个人,这都不能成为“算法”了吧,你觉得它简单,就真的简单了。
拿张草稿纸演算一下,假如不考虑编程,你会怎么排?

70

string[] peoples = Enumerable.Range(1, 5).Select(n => string.Format("P{0}", n)).ToArray();
for (var i = 0; i < 7; i++)
{
    Console.WriteLine("*******周{0}排班**********", i + 1);
    var tmp = peoples;
    if(i<peoples.Length)
    {
        Console.WriteLine("{1}休息", i + 1, peoples[i]);
        tmp = peoples.Where(p => p != peoples[i]).ToArray();
    }
    Console.WriteLine("早班{0} 中班{1} 晚班{2}", tmp[0], tmp[1], string.Join(",", tmp.Skip(2)));
}
//轮班就是将第一位移到最后一位

轮班给你注释了,你应该本人写
排班表算法代码 , 没学多久 希望不要说的那么复杂


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明排班表算法代码 , 没学多久 希望不要说的那么复杂
喜欢 (0)
[1034331897@qq.com]
分享 (0)