

Trie sorting algorithm for strings (e.g.Block sort - An in-place stable sort which runs in O(n lg n) time.Tree sort - A sorting algorithm utilizing a binary tree.Smoothsort - An adaptive variant of heap sort.All of the modules in this repository make use of ranges. Ranges - The Phobos standard library has the concept of ranges which are similar to C++ iterators.

#Xsort software commands code
The documentation provided here and in the source code makes use of some notions and terminology which are common to sorting algorithms or algorithms in general. Other algorithms such as radix sort or bucket sort are not comparison sorts. Most of the algorithms available here are comparison-based sorting algorithms. Tree Sort - An implementation of a red-black tree is available in the Phobos standard library.Smooth Sort by deadalnix - A natural variant of heap sort using Leonardo heaps.Radix Sort by Per Nordlöw - Supports integer and floating-point element types.Here are a few other sorting algorithms implemented by others for the D programming language: Timsortlow - Variant of Timsort with O(n/1024) space complexity.Timsort - Standard implementation without any special tricks.Stable Sort - Natural merge sort with O(lg^2 n) space complexity.Stable Quick Sort (3-way stable quick sort with O(lg n) or O(lg^2 n) space complexity).Shell Sort - Provides concurrent implementation.Selection Sort - Implemented to work with forward ranges.Merge Sort - O(n) or O(n/2) space complexity.Introsort - A hybrid algorithm which uses a mix of quicksort and heapsort to achieve O(n log n) running time in the worst case.Insertion Sort - Utilizing linear, binary, gallop, or trot search.In-Place Merge Sort - O(n lg^2 n) time complexity.Heap Sort - Six variants: binary or ternary tree sift-down, sift-up, or bottom-up traversal.Hash Sort - Variant of counting sort which utilizes a hash table.Forward Sort - In-place sort for forward ranges utilizing a combination of quick sort + comb sort.Cycle Sort - Implemented to work with forward ranges.Comb Sort - Standard implementation or final pass with linear/gallop insertion sort.Bubble Sort - Implemented to work with forward ranges.Any single module may be used independently without any other modules installed. AlgorithmsĪll modules are provided with documentation and unit tests. Check out older commits for the old README and benchsort.d tool. As such, there may be some inconsistencies or missing information. NOTICE: This repository is undergoing a gradual transition to a new format. All source code is available in the public domain.

XSort is a collection of sorting algorithms and related profiling tools implemented in the D programming language.
