# hustcc/js-sorting-algorithm

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hustcc-js-sorting-algorithm).**

5,193 stars · 1,125 forks · Java

## Links

- GitHub: https://github.com/hustcc/JS-Sorting-Algorithm
- Homepage: https://sort.hust.cc/
- awesome-repositories: https://awesome-repositories.com/repository/hustcc-js-sorting-algorithm.md

## Topics

`algorithm` `gitbook` `golang` `javascript` `python` `sorting-algorithms`

## Description

This project is a JavaScript sorting algorithm library and educational programming resource. It provides a collection of classic sorting implementations designed to teach the logic behind common data ordering techniques.

The project serves as a technical reference guide, offering implementations of various sorting methods alongside explanations of their time and space complexity. It focuses on the application of fundamental computer science patterns within a JavaScript environment.

The library covers a wide range of sorting algorithms, including comparison-based methods like quicksort, merge sort, and heapsort, as well as distribution-based techniques such as radix sort and bucket sort. It also includes basic iterative implementations like bubble sort and insertion sort.

## Tags

### Education & Learning Resources

- [Educational Programming Resources](https://awesome-repositories.com/f/education-learning-resources/educational-programming-resources.md) — Serves as a documented set of implementations designed to teach the logic behind common data ordering techniques.
- [Sorting Algorithms](https://awesome-repositories.com/f/education-learning-resources/sorting-algorithms.md) — Provides a technical comparison of various sorting methods based on their time and space complexity.
- [JavaScript Implementations](https://awesome-repositories.com/f/education-learning-resources/technical-domain-education/computer-science-education/computer-science-concepts/javascript-implementations.md) — Provides fundamental computer science sorting algorithms implemented specifically in JavaScript for learning.
- [Sorting Algorithms](https://awesome-repositories.com/f/education-learning-resources/algorithm-study-guides/sorting-algorithms.md) — Provides educational implementations and analysis of classic sorting algorithms for study.
- [Divide And Conquer Algorithms](https://awesome-repositories.com/f/education-learning-resources/educational-resources/algorithms-theory-academics/cs-theory-foundations/algorithms/algorithmic-paradigms/divide-and-conquer-algorithms.md) — Implements recursive divide-and-conquer algorithms such as merge sort and quicksort to optimize time complexity.
- [Sorting Algorithm Tutorials](https://awesome-repositories.com/f/education-learning-resources/sorting-algorithm-tutorials.md) — Offers a reference guide explaining the mechanics and complexity of various sorting algorithms.

### Software Engineering & Architecture

- [Classic Array Sorting Algorithms](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/array-rearrangement-algorithms/classic-array-sorting-algorithms.md) — Provides a comprehensive library of classic array sorting algorithms for educational and practical use. ([source](https://cdn.jsdelivr.net/gh/hustcc/js-sorting-algorithm@master/README.md))
- [Bubble Sorts](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/bubble-sorts.md) — Implements a bubble sort algorithm that repeatedly swaps adjacent elements to order a sequence. ([source](https://sort.hust.cc/1.bubblesort))
- [Bucket Sorts](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/bucket-sorts.md) — Implements a bucket sort algorithm that distributes elements into containers based on value ranges. ([source](https://sort.hust.cc/9.bucketsort))
- [Counting Sorts](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/counting-sorts.md) — Implements a counting sort algorithm that determines positions by calculating value frequencies. ([source](https://sort.hust.cc/8.countingsort))
- [Heap Sorts](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/heap-sorts.md) — Implements a heapsort algorithm that utilizes a binary heap structure to extract extreme values. ([source](https://sort.hust.cc/7.heapsort))
- [Insertion Sorts](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/insertion-sorts.md) — Implements an insertion sort algorithm that iteratively builds a sorted sequence by inserting elements. ([source](https://sort.hust.cc/3.insertionsort))
- [Merge Sorts](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/merge-sorts.md) — Implements a merge sort algorithm that recursively divides and merges lists to achieve order. ([source](https://sort.hust.cc/5.mergesort))
- [Quicksorts](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/quicksorts.md) — Implements a quicksort algorithm that uses recursive partitioning around a pivot for high performance. ([source](https://sort.hust.cc/6.quicksort))
- [Radix Sorts](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/radix-sorts.md) — Implements a radix sort algorithm that orders data by processing individual digits or bits. ([source](https://sort.hust.cc/10.radixsort))
- [Selection Sorts](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/selection-sorts.md) — Implements a selection sort algorithm that repeatedly finds the minimum element from an unsorted section. ([source](https://sort.hust.cc/2.selectionsort))
- [Shell Sorts](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/shell-sorts.md) — Implements a shell sort algorithm that sorts sub-lists using decreasing intervals to improve efficiency. ([source](https://sort.hust.cc/4.shellsort))
- [Distribution-Based Sorting Logic](https://awesome-repositories.com/f/software-engineering-architecture/distribution-based-sorting-logic.md) — Implements non-comparative sorting techniques like bucket and radix sort using distribution mapping.
- [Priority Heaps](https://awesome-repositories.com/f/software-engineering-architecture/priority-heaps.md) — Provides a priority heap implementation used for identifying and extracting extreme values during sorting.
- [Comparison-Based Sorting Implementations](https://awesome-repositories.com/f/software-engineering-architecture/sorting-algorithms/comparison-based-sorting-implementations.md) — Implements a collection of sorting algorithms that order elements through pairwise binary comparisons.

### Scientific & Mathematical Computing

- [In-Place Sorting Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/in-place-sorting-algorithms.md) — Implements memory-efficient sorting algorithms that rearrange elements directly within the original array.

### Part of an Awesome List

- [Algorithms and Data Structures](https://awesome-repositories.com/f/awesome-lists/devtools/algorithms-and-data-structures.md) — Guide to classic sorting algorithms with implementations.
