Releases: bxparks/AceSorting
Releases · bxparks/AceSorting
v1.0.0 - upgrade tool chains; fix guard header
- v1.0.0 (2021-12-04)
- Add special case for SparkFun Pro Micro in
examples/AutoBenchmark
whose
ATmega32U4 has 2.5kB of ram, enough to handleN=1000
. - Fix incorrect C++ header guard in
src/AceSorting.h
. - Upgrade tool chain
- Upgrade Arduino IDE to 1.8.16.
- Upgrade Arduino CLI to 0.19.2.
- Upgrade SparkFun SAMD to 1.8.4.
- Upgrade ESP8266 to 3.0.2.
- Upgrade TeensyDuino to 1.55.
- Add special case for SparkFun Pro Micro in
v0.3 - add 3-argument variants to accept user-defined sorting functions
- v0.3 (2021-08-23)
- Add 3-argument versions of each sorting function which accepts a lambda
expression or function pointer that evalutes the general "less-than"
comparison between 2 elements in the array.- Can be used to implement any sorting criteria, e.g. reverse sort, or
sorting using compound keys. - Reimplement 2-argument versions of each sorting function to simply
call the 3-argument versions using a default "less-than" function
to give simple ascending order. - The
quickSortXxx()
algorithms do not optimize well, probably due
to the recursive function call, so the 2-argument version is
duplicated from the 3-argument version. - Add
examples/CompoundSortingDemo
to illustrate the 3-argument
sorting functions to sort by (name, score) pair. - No changes observed to flash memory consumption or CPU execution
times.
- Can be used to implement any sorting criteria, e.g. reverse sort, or
- Add 3-argument versions of each sorting function which accepts a lambda
v0.2 - add Selection Sort, HelloSort, and a tl;dr section
- v0.2 (2021-08-06)
- Add Selection Sort, mostly for completeness. It's another
O(N^2)
sort
but is slower than Insertion Sort, and is not a stable sort. - Add examples/HelloSort.
- Add tl;dr section in README.md to summarize my recommendations.
- Add Selection Sort, mostly for completeness. It's another
v0.1 - stable working implementations of Bubble Sort, Insertion Sort, Shell Sort, Comb Sort, Quick Sort
- v0.1 (2021-08-04)
- Add
combSort133()
which uses a gap factor of 4/3, which eliminates
integer division. Smaller and faster on 8-bit processors which don't have
hardware integer division. - Add
combSort13m()
andcombSort133m()
which modifies the gap to 11 when
equal to 9 and 10. - Add
WorstCaseBenchmark
to determine behavior at extremes (already
sorted, and reversed sorted). - Add comparison to C library's builtin
qsort()
. Seems like it's 2-3X
slower and consumes 4-5X more flash memory thanquickSortXxx()
. - Add unit tests.
- Add
- Initial checking (2021-08-02)