Задача сортировки массива заключается в том, чтобы расставить его элементы в определённом порядке — чаще всего по неубыванию: каждый элемент должен быть больше или равен предыдущему.
a = [5, 2, 1, 3, 1]
a.sort()
print(a) # [1, 1, 2, 3, 5]
Хотя эффективные алгоритмы сортировки реализованы в стандартной библиотеке большинства языков, полезно знать, какие подходы существуют, потому что часто можно модифицировать их для решения других смежных задач. Все алгоритмы в этом разделе относительно несложные и являются хорошими упражнениями в оценке времени работы.
Полезно вместе с описанием алгоритмов смотреть их визуализацию.