mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 03:27:44 +00:00
sort --merge works, but ignores --unique and --reverse
FileMerger receives Lines Iterables of the pre-sorted input files via push_file() It implements Iterator, which yields lines from the input files in (merged) sorted order. If the input files are not sorted, then the behavior is undefined. Internally, FileMerger uses a std::collections::BinaryHeap<MergeableFile>. MergeableFile is an internal helper that implements Ord in a way that BinaryHeap can use (note that we want smallest-first, but BinaryHeap returns largest first, so MergeableFile::cmp() calls reverse() on whatever compare_by() returns.
This commit is contained in:
parent
76abc7e51d
commit
8a8319a337
6 changed files with 130 additions and 7 deletions
9
tests/fixtures/sort/merge_ints_interleaved.expected
vendored
Normal file
9
tests/fixtures/sort/merge_ints_interleaved.expected
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
3
tests/fixtures/sort/merge_ints_interleaved_1.txt
vendored
Normal file
3
tests/fixtures/sort/merge_ints_interleaved_1.txt
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
1
|
||||
4
|
||||
7
|
3
tests/fixtures/sort/merge_ints_interleaved_2.txt
vendored
Normal file
3
tests/fixtures/sort/merge_ints_interleaved_2.txt
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
2
|
||||
5
|
||||
8
|
3
tests/fixtures/sort/merge_ints_interleaved_3.txt
vendored
Normal file
3
tests/fixtures/sort/merge_ints_interleaved_3.txt
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
3
|
||||
6
|
||||
9
|
Loading…
Add table
Add a link
Reference in a new issue