Это звучит очень похоже на домашнее задание, поэтому я не хочу говорить слишком много.
Пузырьковая сортировка - это очень простой алгоритм сортировки, он просматривает все элементы списка и сравнивает его с любым другим элементом. Это приводит к большому количеству сравнений, поэтому очень медленно.
Сортировка по радиксу сортировка основана на числах, но вы можете представлять любые данные в числах, и они могут дать намного более быстрый результат.
вставка / выделение / сортировка слиянием предназначены для выполнения этих задач. например, при объединении в списки, если требуется предварительная сортировка двух списков, вы можете быстро объединить их, используя специальную сортировку, а не просто отсортировать весь список как один. если вы знаете, что оба списка расположены по порядку, вам просто нужно отслеживать, где вы находитесь в каждом списке (два номера индекса), сравнивать элемент каждого индекса и перемещать индекс вверх, когда вы берете один из элементов и перемещаете его в новый список.
Алгоритмы сортировки - огромная область вычислений, поскольку существует так много различных требований. Слияние, которое я описал, легко кодировать, но при сортировке удваивает используемую память. Вы, вероятно, могли бы заставить его работать быстрее. Может быть, начиная с обоих концов, следя за двумя индексами, делая два полуслитых лита, один переходит снизу в середину, другой сверху вниз, затем прикрепляет второй к первому ... может работать лучше, я не знаю.