3 stable releases
1.2.0 | Aug 30, 2022 |
---|---|
1.1.0 | Aug 27, 2022 |
1.0.0 | Aug 25, 2022 |
#1972 in Algorithms
13KB
242 lines
Double Sort
This is a short and concise sorting algorithm written in Rust as a learning project.
It works by grabbing numbers from a vector in pairs of two, putting them into a structure called Nodes, comparing both numbers in it and placing the smallest one to the left and the biggest to the right. A binary heap is used to place the Nodes in ascending order, ordering by their leftmost number and then after that the program loops by checking neighbouring numbers and swapping them if needed. All of this is still on the heap so the order of the Nodes will still be consistent. The vector is always sorted after n/2 - 1 times (Rounded up for odd amounts)
Visualization (10.000 numbers)
Visualization was done with: