【发布时间】:2015-09-12 10:42:14
【问题描述】:
我是 node.js 的新手。问题是从 2 个(或更多)已排序数据的流中读取,并生成它们的“排序合并”。 例如:
Stream A: 1 5 6 8
Stream B: 2 3 4 7
========================
Result: 1 2 3 4 5 6 7 8
在 C++/Java/C# 中,这有一个非常明显的解决方案,例如:
BufferedReader[] readers = new BufferedReader[2];
String[] lines = new String[2];
// fill lines with initial values from both readers
// ...
while (true) {
int earliestIndex = -1;
// ....
// determine earliestIndex by looping over lines and comparing them
if (earliestIndex < 0) break;
String line = lines[earliestIndex];
// do something with line
System.out.println(line);
// advance reader
lines[earliestIndex] = readers[earliestIndex].readLine();
}
但在节点中,这似乎相当困难。有任何想法吗?
【问题讨论】:
标签: javascript node.js stream