Crates.io | double_sort |
lib.rs | double_sort |
version | 1.2.0 |
source | src |
created_at | 2022-08-25 19:07:56.081272 |
updated_at | 2022-08-30 20:52:42.201887 |
description | This is a fast and simple sorting algorithm which groups numbers into pairs and orders them onwards as nodes |
homepage | |
repository | https://github.com/Shroomerian/double_sort |
max_upload_size | |
id | 652352 |
size | 15,800 |
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 was done with: