double_sort

Crates.iodouble_sort
lib.rsdouble_sort
version1.2.0
sourcesrc
created_at2022-08-25 19:07:56.081272
updated_at2022-08-30 20:52:42.201887
descriptionThis is a fast and simple sorting algorithm which groups numbers into pairs and orders them onwards as nodes
homepage
repositoryhttps://github.com/Shroomerian/double_sort
max_upload_size
id652352
size15,800
Alexander Mychlo (Shroomerian)

documentation

README

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)

https://user-images.githubusercontent.com/54857786/187537791-f1bb2df9-d723-4ba5-9bf8-82e73161cc18.mp4

Visualization was done with: sorting-visualization

Diagram

double_sort

Commit count: 43

cargo fmt