**Random sorting** (*Bogosort*) is one of the most inefficient array sorting algorithms.

**Bubble sort** (*bubble sort*) is one of the easiest to understand methods for sorting arrays.

**Shuffle sorting** (*cocktail sort*) or shaker sorting is an advanced type of bubble sorting in which the sorting is performed in two directions, changing direction with each pass.

**Insertion sort** is a sorting algorithm in which all elements of an array are scanned in turn, with each element being placed in an appropriate place among previously ordered values.

**Stooge sort** (*sorting by parts*) – a recursive array sorting algorithm.

**Pancake sorting** – an array sorting algorithm in which sorting is performed by flipping a part of the array.

**Shell sort** – an array sorting algorithm that generalizes sorting by inserts.

**Merge sort** - an array sorting algorithm that is implemented on the principle of “*divide and conquer*”. The task of sorting an array is divided into several sub-tasks of sorting arrays of smaller size, after which the result is combined, which leads to the solution of the initial problem.

**Selection sort** – an array sorting algorithm that is comparable in speed with bubble sorting.

**Quick sort** or *Hoar sort* is one of the fastest data sorting algorithms.

**Gnome sort** – an easy-to-implement array sorting algorithm, named after the garden gnome, which supposedly sorts garden pots using this method.