我正在编写一个程序,可以为坐在随机数量的桌子上的人计算所有可能的位置(最多可以达到 1000+):
正如您在图像上看到的,黑点代表人(但在计算机中,有不同类型的人。)有两种类型的表格:蓝色和粉红色的。蓝色的可以容纳 3 人,粉红色的可以容纳 2 人。
为了让任何人坐在所有可能的位置,我可以使用 foreach 循环(其中 8 个),然后我可以运行一些额外的代码......
但是如果我添加 200 个表会怎样?那么我需要使用 200 个 foreach 循环吗?有什么方法可以更快地编码并且占用更少的空间?
我试过什么?=>
switch(listoftables.Count)
{
case 1:foreach(Table table in listoftables){ //code to add people to this table}break;
case 2: foreach(Table table1 in listoftables)
{foreach(Table table1 in listoftables){//code to add people to this table
}}break;
}
INPUT : 带有可编辑的 Table 类对象的数组(它是我自己创建的一个类) PROCESS : 上面的 List 被编辑并添加到另一个 List 对象中,在整个 foreach 过程结束后,OUTPUT 将写入所有可能的配置(谁是在另一个 List 对象中)到屏幕。
输出的示例部分:
// List<Table> listofalltables was processed
List<listofalltables> output
=> 在数组中包含为 [0]:首先列出 => 在数组中包含为 [0]:Table.attachedpeople(是列表)