Sort Me: удобный способ сортировки
Конечно, я могу предоставить вам развернутый ответ на русском языке. Вам нужен код для сортировки? Я покажу вам примеры кода для различных алгоритмов сортировки.- Сортировка пузырьком:
Сортировка пузырьком - это один из простых алгоритмов сортировки. Она работает путем прохода по массиву множество раз, обменивая элементы в парах, если они стоят в неправильном порядке. Этот процесс повторяется до тех пор, пока массив не будет полностью отсортирован.
def bubble_sort(arr): n = len(arr) for i in range(n - 1): for j in range(0, n - i - 1): if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j] return arr - Сортировка выбором:
Сортировка выбором - это еще один простой алгоритм сортировки. Он работает путем поиска наименьшего (или наибольшего) элемента в массиве и помещения его на соответствующую позицию. Этот процесс повторяется для каждого элемента, пока весь массив не будет отсортирован.
def selection_sort(arr): n = len(arr) for i in range(n): min_idx = i for j in range(i + 1, n): if arr[j] < arr[min_idx]: min_idx = j arr[i], arr[min_idx] = arr[min_idx], arr[i] return arr - Сортировка слиянием:
Сортировка слиянием - это эффективный алгоритм сортировки, который основан на разделении массива на половины, сортировке каждой половины отдельно, а затем объединении результирующих половин в отсортированный массив.
def merge_sort(arr): if len(arr) <= 1: return arr mid = len(arr) // 2 left_half = arr[:mid] right_half = arr[mid:] left_half = merge_sort(left_half) right_half = merge_sort(right_half) return merge(left_half, right_half) def merge(left_half, right_half): result = [] i = j = 0 while i < len(left_half) and j < len(right_half): if left_half[i] <= right_half[j]: result.append(left_half[i]) i += 1 else: result.append(right_half[j]) j += 1 while i < len(left_half): result.append(left_half[i]) i += 1 while j < len(right_half): result.append(right_half[j]) j += 1 return result