pascal中图的广度优先遍历程序中的assign()和reset()
发布网友
发布时间:2023-06-07 12:06
我来回答
共3个回答
热心网友
时间:2023-09-17 22:14
1
assign(input,'bfs.in');reset(input)意思是关联名叫
bfs.in的文件,reset(input)是准备读操作,前提是必须有
bfs.in文件,不然会RE的。
2
键盘读入要麻烦,noip都用文件操作的。
3
广搜层数较多,所以用递归好点
至于'bfs.in'文件的内容,就是本来你用键盘读入的东西(子程序不知道,所以无法确定本程序有什么作用)
热心网友
时间:2023-09-17 22:15
assign是建立联系,reset是准备读打开,合一起就是把bfs.in变成默认输入(一般默认输入是屏幕),在这之后的read(a[i,j])就是从文件读了,并非读屏幕,直接read就是读默认输入(因为前面用assign把默认改了,所以是读文件),至于bfs(1)我个人觉得它只是用了个子程序,至于1应该是初始指针,或者你可以把bfs子程序发上来看看
热心网友
时间:2023-09-17 22:15
1:
assign(input,'bfs.in');
reset(input);
这两个语句的作用是打开目标文件并执行
bfs.in
可以加路径但是Pascal中一般都是把输入输出文件放在它对应的标准文件的路径下,就可以直接打文件名。
2:
广搜一般只有在高级竞赛中才使用,然而100%的高级竞赛都是用文件输入输出,因为所有的程序都要集体测试,如果用键盘输入、输出在dos界面上,就要一个一个检查,很麻烦,如果用文件输入输出并统一文件名,就方便多了