Skip to content

Releases: Gaming32/ArrayV

ArrayV 5.1

11 Apr 00:02
Compare
Choose a tag to compare

GitHub release (by tag)
This release adds a scripting API using the Groovy programming language. Groovy docs can be viewed at https://groovy-lang.org/documentation.html, and you can view scripting API docs by downloading the javadoc JAR, extracting it, and opening the index.html file.

List of merged PRs

Full Changelog: v5.0...v5.1

ArrayV 5.0

19 Feb 16:08
Compare
Choose a tag to compare

GitHub release (by tag)

ArrayV 5.0 is finally here! This update has been a really long time in coming, but it's here now. The biggest thing that was specifically done for this update is a move from the outdated Ant build tool, to the modern Maven build tool! This will let us bring more features that were previously impossible to do well to ArrayV.

List of merged PRs

Full Changelog: v21.5.0...v5.0

June 2021

03 Jun 19:08
Compare
Choose a tag to compare

New Sorts

  • Parallel Matrix Sort (idea by @Control55)
  • Rotate LSD Radix Sort (by @aphitorite)
  • Rotate MSD Radix Sort (by @aphitorite)
  • Simplistic Gravity Sort (By @McDude73)
  • Awkward Sort (by @aphitorite)
  • Complete Graph Sorting Network
  • Dandelion Sort (by yuji and @McDude73)
  • Fibonacci Gnome Sort (by @Yuri-chan2007)
  • Float Sort (by Lancewer and @McDude73)
  • Gambit Gnome Sort
  • Head Pull Sort (thanks to @PCBoyGames)
  • Linked Iterative Quick Sort, Left/Right Pointers (by @aphitorite)
  • Merry-Go-Round Sort (thanks to @PCBoyGames)
  • Odd-Even Weave Sort (High Prime) (thanks to @PCBoyGames)
  • Odd-Even Weave Sort (Low Prime) (thanks to @PCBoyGames)
  • Pattern-Defeating Gnome Sort (by @Yuri-chan2007)
  • Safe Bogo Sort (by @aphitorite)
  • Shove Sort (by frankblob and @PiotrGrochowski)
  • Split Center Sort (thanks to @PCBoyGames)
  • Swapless Bubble Sort (by @Gaming32)
  • Ternary Slow Sort (by @fungamer2-2)
  • X Pattern Sort (thanks to @PCBoyGames)
  • Circular Grail Sort (by @aphitorite)
  • Iterative Introspective Pseudo-Heap Sort (by @Yuri-chan2007)
  • Optimized Lazy Stable Sort
  • Pattern-Defeating Laziest Stable Sort (by @Yuri-chan2007)
  • Simple Hybrid Quick Sort (by @Yuri-chan2007)
  • Stackless Tim Sort (by @aphitorite)
  • Synchronous Sqrt Sort (by The Holy Grail Sort Project, implemented by @aphitorite)
  • Adaptive Insertion Sort
  • Binary Double Insertion Sort
  • Block Insertion Sort
  • Cocktail Shell Sort (Ciura Gaps) (by @fungamer2-2)
  • Pattern-Defeating Insertion Sort
  • Pancake Insertion Sort
  • Quick Sort (ternary, LL ptrs) (by @bingmann, thanks to @Gaming32)
  • Quick Sort (ternary, LR ptrs) (by @bingmann, thanks to @Gaming32)
  • Anarchy Sort (By Lancewer & @McDude73)
  • Binomial Heap Sort
  • Binomial Smooth Sort
  • Bottom-up Heap Sort (by @aphitorite)
  • Forced Stable Heap Sort (by @Yuri-chan2007)
  • Heavy Heap Sort
  • Min-Max Heap Sort
  • Out-of-Place Heap Sort (by @aphitorite)

Changed Sorts

  • Set Parallel Bitonic Sort's unreasonable limit to 4096
  • Set Parallel Bose-Nelson Sorting Network's unreasonable limit to 4096
  • Set Parallel Odd-Even Merge Sort's unreasonable limit to 4096
  • Set Parallel Weave Sort's unreasonable limit to 4096
  • Remove indices array visualization from American Flag Sort
  • Remove indices array visualization from In-Place LSD Radix Sort
  • Remove indices array visualization from In-Place MSD Radix Sort
  • Fix comparisons in Smart Bogo Bogo Sort
  • Fix stability check and remove indices array visualization from Stackless American Flag Sort
  • Fix stability check for Stackless Binary Quick Sort
  • Fire Sort
  • Change highlights and delays for Gnome Sort
  • Change highlights and delays for Gnome Weave Sort (High Prime)
  • Change highlights and delays for Gnome Weave Sort (Low Prime)
  • Change delay for Quad Stooge Sort
  • Change delay for Slope Sort
  • Change delay for Stupid Fire Sort
  • Remove indices array visualization from Base-N Merge Sort
  • Redo Ecta Sort
  • Change median algorithm for Flan Sort
  • Rename Stable Buffered Merge Sort to Out-of-Place Buffered Merge Sort
  • Remi Sort
  • Rename Stable Third Merge
  • Fix Patience Sort comparisons
  • Shuffled Tree Sort
  • Set Parallel Rotate Merge Sort's unreasonable limit to 4096
  • Redo Strand Sort
  • Remove indices array visualization from Cube Root Quick Sort
  • Redo Asynchronous Sort

Removed Sorts

  • Holy Grail Sort

New Distributions

  • Modulo Function

New Rotations

New Features

Changed Features

  • Add seizure warning to Show Aux Arrays (as a temporary fix, until it no longer needs one) (thanks to @EmeraldBlock)
  • Re-add unsuccessful sort notifications to Stability Check
  • Change delay text to "Canceled" when canceled (used to say "0ms") (thanks to @EmeraldBlock)
  • Redo highlights system for speed (thanks to @EmeraldBlock)
  • Fix Cycle Reverse rotation's delay
  • Make sounds thread not make your CPU go brrrrr when idle
  • Change soundbank name to "Default (Yamaha XG Sound Set)" (was "Default (Roland SoundCanvas Sound Set)")

Other changes

  • Added pull request template
  • Update workflow to use actions/[email protected] instead of actions/setup-java@v1
  • Make .vscode/launch.json match run.bat (thanks to @EmeraldBlock)

Bug fixes

  • Fix final end sweep (in more cases)
  • Add visuals update on array re-initialize
  • Fix forgetting whether you had sound on
  • Fix rare errors when a sort contains a public inner class
  • Add Run All Quick Sorts
  • Fix "Pausedms" (thanks to @EmeraldBlock)

May 2021

05 May 19:49
Compare
Choose a tag to compare

New Sorts

Changed Sorts

  • Completely revamp Bogo Bogo Sort (thanks to @EmeraldBlock)
  • Change unreasonable limit of Cocktail Bogo Sort
  • Rename Deterministic Bogo Sort
  • Fix unreasonable limit of Slice Bogo Sort
  • Fix stability check for and make Stackless American Flag Sort swapless
  • Fix stability check for Stackless Binary Quick Sort
  • Change category of Bubble Bogo Sort
  • Change category, delays, and highlights of Exchange Bogo Sort
  • Randomize and make Index Quick Sort swapless
  • Refactor Markov Sort (thanks to @EmeraldBlock)
  • Optimize Reverse Bubble Sort
  • Randomize Parallel Stable Quick Sort
  • Rename Bubble Sort to Unoptimized Bubble Sort
  • Rename Optimized Bubble Sort to Bubble Sort
  • Rename More Optimized Bubble Sort to Optimized Bubble Sort
  • Rename Cocktail Shaker Sort to Unoptimized Cocktail Shaker Sort
  • Rename Optimized Cocktail Shaker Sort to Cocktail Shaker Sort
  • Rename More Optimized Cocktail Shaker Sort to Optimized Cocktail Shaker Sort
  • Make Buffer Partition Merge Sort's quickselect less strict
  • Make thatsOven's Median-Of-16 Adaptive QuickSort sort the higher portion first
  • Optimize Optimized Pattern-Defeating Merge Sort
  • Change highlights on Optimized Weave Merge Sort
  • Optimize Parallel Block Merge Sort
  • Optimize Remi Sort
  • Fix stability check for Sqrtsort (thanks to @aphitorite)
  • Optimize Stackless Dual-Pivot Quicksort
  • Optimize Stackless Hybrid Quicksort
  • Optimize and fix stability check for Classic Library Sort
  • Change Cocktail Shell Sort final pass
  • Optimize and fix license of Double Insertion Sort
  • Optimize Index Merge Sort
  • Rename Iterative Top-down Merge Sort
  • Change delays for New Shuffle Merge Sort
  • Fix stability check for Wiki Sort

New Shuffles

  • Shifted Element
  • Shuffled Half
  • Partitioned
  • Inverted BST
  • Reversed Smoothified
  • Triangular Heapified
  • Shuffle Merge Adversary

New Features

  • Add saving of the main array to a file (able to be loaded with Custom distribution)
  • Add dragging-and-dropping of sort files to import them
  • Add F5 to force a screen refresh
  • Documentation for BogoSorting.java (thanks to @EmeraldBlock)

Changed Features

  • Change file dialog to use the current directory by default
  • Big visuals overhaul (thanks to @aphitorite and see #28 for more details)

Other changes

  • Change workflow to run on ubuntu-latest instead of ubuntu-20.04
  • Change workflow to additionally run on Java 16
  • Update LICENSE to include the ArrayV 4.0 Team
  • Improve build instructions in README

Bug fixes

  • Fix duplicate values on non-powers-of-two during Run All (thanks to @EmeraldBlock)
  • Fix multiple openings of script open dialog

April 2021

06 Apr 19:55
Compare
Choose a tag to compare

New Sorts

Changed Sorts

  • Rename Iterative Bose-Nelson Sorting Network
  • Rename Recursive Bose-Nelson Sorting Network
  • Rename Batcher's Merge-Exchange Sort
  • Rename Iterative Odd-Even Merge Sort
  • Rename Batcher's Odd-Even Merge Sort
  • Change sleep in Recursive Pairwise Sorting Network
  • Rename Iterative Binary Quick Sort
  • Rename Recursive Binary Quick Sort
  • Change category for Bogo Bogo Sort
  • Change category and unreasonable limit for Bogo Sort
  • Reference Tanoshi in L/MSD Radix Sort
  • Change category for Less Bogo Sort
  • Change category for Slice Bogo Sort
  • Change category for Deterministic Bogo Sort
  • Fix stability check for Forced Stable Quick Sort
  • Rename Quick Sort, Left/Left Pointers (Middle Pivot)
  • Rename Optimized Stooge Sort
  • Rename More Optimized Bubble Sort
  • Rename More Optimized Cocktail Shaker Sort
  • Rename Stable Quick Sort (Middle Pivot)
  • Change category for Stooge Sort
  • Fix stability check for Table Sort
  • Rename Iterative 3-Smooth Comb Sort
  • Rename Recursive 3-Smooth Comb Sort
  • Change delays for Flan Sort
  • Rename Improved Block Selection Merge Sort
  • Rename Improved Weave Merge Sort
  • Rename Iterative Introspective Circle Sort
  • Rename Recursive Introspective Circle Sort
  • Remove dynamic buffer mode from Kotasort
  • Rename thatsOven's Logarithmic Average QuickSort
  • Publicize LazierSort.inPlaceMerge
  • Rename thatsOven's Median-Of-16 Adaptive QuickSort
  • Improve Merge-Insertion Sort
  • Rename Optimized Bottom-Up Merge Sort [std::stable_sort]
  • Rename Optimized Dual-Pivot Quick Sort [Arrays.sort]
  • Rename Optimized Pattern-Defeating Merge Sort
  • Rename Optimized Weave Merge Sort
  • Rename Pattern-Defeating Quick Sort
  • Rename Branchless Pattern-Defeating Quick Sort
  • Rename Quick Sandpaper Sort
  • Revamp Stackless Hybrid Quicksort
  • Optimize Double Insertion Sort
  • Add constant to Library Sort
  • Rename Improved In-Place Merge Sort
  • Rename Out-of-Place Weave Merge (by Control)
  • Rename Pattern-Defeating Merge Sort
  • Make Tournament Sort use an array instead of an ArrayList

Removed Sorts

  • Tree Sort (Unbalanced)

New Features

  • Add "Reversed Sorting" mode to invert the comparison function
  • Add "compareOriginalValues" and "compareOriginalIndices" methods to compare without stability check
  • Add search bar to Choose Sort dialog
  • Add "All Sorts" category to Choose Sort dialog

Changed Features

  • Completely revamp stability test (thanks to @aphitorite)
  • Optimize visuals to high levels (smooth up to 8M elements on Bar Graph)

Other changes

  • Added GitHub actions: GitHub Workflow Status (branch)
  • Add antiqsort_* to .gitignore
  • Update README
  • Add command-line arguments to run.bat

New/updated beta/incomplete sorts

  • Plasma Sort (not stable)

March 2021

03 Mar 13:39
Compare
Choose a tag to compare

New Sorts

  • Batcher's Merge-Exchange Sort
  • Guess Sort
  • L/MSD Radix Sort (by thatsOven)
  • Fun Sort (by fungamer2)
  • Markov Sort (created by Blasterfreund and implemented by Sam Walko (Anonymous0726))
  • Napoleon Sort
  • More Optimized Bubble Sort
  • More Optimized Cocktail Shaker Sort
  • Stable Stooge Sort
  • Optimized Stooge Sort (by Anonymous0726, aphitorite, and EilrahcF)
  • Out of Place Stable QuickSort (by Control)
  • Flan Sort (by aphitorite)
  • Optimized Pattern-Defeating Merge Sort (by Gaming32)
  • Tree Sort (AA Balanced) (by Sam Walko (Anonymous0726))
  • Tree Sort (AVL Balanced) (by Sam Walko (Anonymous0726))
  • Fibonacci Insertion Sort (by fungamer2)
  • Hanoi Sort (by Sam Walko (Anonymous0726))
  • Tree Sort (Red-Black Balanced) (by Sam Walko (Anonymous0726))
  • Room Sort (by Gaming32)
  • Splay Sort
  • Stable Hanoi Sort (by Sam Walko (Anonymous0726))
  • Tree Sort (Unbalanced) (by Sam Walko (Anonymous0726))
  • Out of Place Weave Merge (by Control)
  • Stable Selection Sort (by fungamer2)

New Shuffles

  • Shuffled Final Merge

New Features

  • Added mode selector
    • New AntiQSort mode can generate killer patterns for (almost) every quick sort
    • New Stability Test mode can test stability for most comparative sorts
  • New Rotations and IndexedRotations utilities to use rotations in your sorts
  • Added rotation tester to test a rotation algorithm (algorithm used can be changed in src/sorts/tests/RotationTest.java)
  • Added template sort file for creating your own sorts

Changed Features

  • Completely revamped Choose Sort window
    • Each category is separate
    • Run All in Current Category button
  • Removed auto-cancellation from Cancel Delays button on Bogo Sorts

Other changes

  • Changed window title
  • Changed the delay of In-Place MSD Radix Sort
  • Fix naming of Stupid Quick Sort
  • Optimize Double Insertion Sort
  • Remove dead code from PDMerge

Bug fixes

  • Fixed out-of-bounds error in Stable Third Merge Sort
  • Fixed Merge Sort’s stability
  • Fixed truncated delays for Multiple Script
  • Fixed auxiliary arrays crash on Triangle Mesh

New/updated beta/incomplete sorts

  • Plasma Sort

February 2021

02 Feb 16:01
Compare
Choose a tag to compare

Lot's of stuff. I'll fill in this the changelog in the coming days.

New Sorts

  • Crease Sorting Network (by aphitorite)
  • Forced Stable Quick Sort (by aphitorite)
  • Table Sort (by aphitorite)
  • Improved Block Selection Merge Sort (by aphitorite)
  • Lazier Stable Sort (by aphitorite)
  • Laziest Stable Sort (by aphitorite)
  • thatsOven's Median-Of-16 Adaptive QuickSort (by thatsOven)
  • Merge-Insertion Sort (by aphitorite)
  • Optimized Weave Merge Sort (by aphitorite)
  • Quick Sandpaper Sort (by yuji)
  • Double Insertion Sort (by Morwenn and Gaming32)
  • Unstable Insertion Sort
  • Modulo Merge Sort
  • Split-16 Merge Sort (by Gaming32, using a modification of thatsOven's Median-of-16 algorithm)
  • Strand Sort (by aphitorite)
  • Twin Sort (by Scandum)

Version 4 January 2021

05 Jan 00:35
Compare
Choose a tag to compare

Way too many changes to list here :)

NOTE: The Import Sort button does not work in the prebuilt jar. If you wish to use this feature, download the source code and run ant yourself!

Version 4 December 2020

01 Dec 20:45
Compare
Choose a tag to compare

Changelog

General Changes

  • Return of the logarithmic slider
  • Hold shift to lock to powers of two
  • Make the UI look native on Windows and macOS
  • Add all sorts to "Run All Sorts" button
  • Fix fatal sound error on WSL

Sort Changes

  • Slow down Gravity Sort
  • Change inner loop for Circlesort, and Intro Circlesort
  • Change Snuffle Sort category
  • Change Base-N Mergesort's run all label
  • Move Block Selection Mergesort's reverse lazy stable to separate sort
  • Change Introspective Sort's run all label
  • Improve Median Mergesort
  • Optimize and refactor Rotate Mergesort
  • Change Base-N Max Heapsort's run all label

thatsOven's staticSort

  • Change name
  • Change constant value
  • Time the merge_arrays function

New Sorts

  • Slice Bogo Sort
  • Left/Left Quicksort (Middle Pivot)
  • Stable Quicksort (Middle Pivot)
  • Iterative Circlesort
  • Mean Quick Sort
  • Iterative Introspective Circlesort
  • Block-Swap Mergesort
  • Reverse Lazy Stable Sort

Version 4.0.0

23 Nov 23:57
Compare
Choose a tag to compare

This is the first release on this repo.