因此,我正在编写一个从文本文件读取输入的程序。 prgoram在(x,y)位置种植了一种植物,例如,从文件中读取了植物3,4。它还会根据命令FLAME 3,4使植物燃烧。因此,最终将有多个工厂和火灾。即使没有植物,也可能会着火。何时在屏幕上输出图像。我正在考虑使用链表来存储植物和火焰的位置。我需要创建2个链接列表还是可以用1个链接列表来完成?我不确定。我想我需要使用1个链表,因为我必须遍历才能创建图像,该图像将是测试人员指定的正确坐标。有什么建议/想法吗?
谢谢
因此,我正在编写一个从文本文件读取输入的程序。 prgoram在(x,y)位置种植了一种植物,例如,从文件中读取了植物3,4。它还会根据命令FLAME 3,4使植物燃烧。因此,最终将有多个工厂和火灾。即使没有植物,也可能会着火。何时在屏幕上输出图像。我正在考虑使用链表来存储植物和火焰的位置。我需要创建2个链接列表还是可以用1个链接列表来完成?我不确定。我想我需要使用1个链表,因为我必须遍历才能创建图像,该图像将是测试人员指定的正确坐标。有什么建议/想法吗?
谢谢
您将如何安排2D列表?您将必须列出列表。第一个列表只是从该位置开始保持列表的开头。像这样的东西:
| L1->列表L1之后... | L2->列表L2之后... | L3->列表L3之后... | L4->列表L4之后...
现在,此列表中的每一个将具有承载数据(植物/火焰)的单独节点,因此,要在(3,4)种植植物,您需要在第三列表(L3)的第4个节点处插入数据“ P”。火焰也一样。因此,每个节点中将需要两个数据元素。
另外,您也可以使用2D字符串数组,根据我的看法,操作起来会容易得多。只要在位置(3,4)有待种植的植物,就在数组的索引[3] [4]上写入字符串“ P”。如果您在同一位置也需要火焰,则可以使用字符串“ PF”作为仅火焰,可以使用“ F”。
在第一种方法中遍历列表,在第二种方法中遍历列表将为您提供该字段的当前快照。
第二种方法有局限性,唯一的缺点是数组呈现给您的缺点是,您需要提前知道最大位置(行和列)数,如果您要提前知道这一点,建议您使用第二种方法。