【发布时间】:2015-06-26 11:17:05
【问题描述】:
我正在做一个项目,需要读取一个文件,对每一行进行一些操作并生成一个新文件。我有点担心性能。哪种算法更有效?我在下面写了一些伪代码。
-
将所有内容存储到数组中,关闭文件,操作每一行并将新数组存储到输出文件:
openInputFile() lineArray[] = readInput() closeInputFile() for (i in lineArray) // i:current line manipulate i newArray[] += i // store manipulted line to new array openOutputFile() writeOutput(newArray) closeOutput() -
在循环中获取每一行,操作后将新行写入输出
openInputFile() openOutputFile() for (i in inputFile) // i:current line manipulate i print manipulated line to output closeInputFile() closeOutputFile()
我应该选择哪一个?
【问题讨论】:
-
我会选择第一个:如果您按顺序读写,硬盘性能可能会很差。
标签: algorithm performance file big-o