Python: сортировка массива
Существует несколько способов сортировки массива на языке программирования Python. Рассмотрим некоторые из них с подробными объяснениями и примерами кода.1. Сортировка пузырьком:
Сортировка пузырьком - это один из самых простых алгоритмов сортировки. В этом алгоритме мы сравниваем каждый элемент соседних пар и меняем их местами, если они находятся в неправильном порядке.
Пример кода:
```python 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 # Пример использования arr = [64, 34, 25, 12, 22, 11, 90] sorted_arr = bubble_sort(arr) print("Отсортированный массив:", sorted_arr) ```2. Сортировка выбором:
Сортировка выбором - это алгоритм, который на каждой итерации находит наименьший элемент массива и ставит его на нужное место.
Пример кода:
```python 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 # Пример использования arr = [64, 34, 25, 12, 22, 11, 90] sorted_arr = selection_sort(arr) print("Отсортированный массив:", sorted_arr) ```3. Сортировка вставками:
Сортировка вставками - это алгоритм, при котором мы вставляем элемент на нужное место в уже отсортированной части массива.
Пример кода:
```python def insertion_sort(arr): n = len(arr) for i in range(1, n): key = arr[i] j = i-1 while j >=0 and arr[j] > key: arr[j+1] = arr[j] j -= 1 arr[j+1] = key return arr # Пример использования arr = [64, 34, 25, 12, 22, 11, 90] sorted_arr = insertion_sort(arr) print("Отсортированный массив:", sorted_arr) ```4. Встроенная сортировка:
Python предоставляет встроенную функцию sorted(), которая может использоваться для сортировки массива. Она возвращает новый отсортированный массив, не изменяя исходный.
Пример кода:
```python arr = [64, 34, 25, 12, 22, 11, 90] sorted_arr = sorted(arr) print("Отсортированный массив:", sorted_arr) ```Это лишь некоторые из множества алгоритмов сортировки, доступных на языке Python. Выбор конкретного алгоритма зависит от требуемой эффективности и особенностей задачи.