选择排序的python代码
时间: 2023-12-15 21:31:07 浏览: 30
以下是选择排序的Python代码:
```python
def selectionSort(arr):
for i in range(len(arr) - 1):
maxIndex = i # 记录最大元素的索引
# 找出最大元素
for j in range(i + 1, len(arr)):
if arr[j] > arr[maxIndex]:
maxIndex = j
# i不是最大元素时,将i和最大元素进行交换
if i != maxIndex:
arr[i], arr[maxIndex] = arr[maxIndex], arr[i]
return arr
if __name__ == "__main__":
nums = [1, 42, 65, 876, 34, 656, 4, 6757, 89, 24, 65, 42]
print("start:", nums)
print("选择排序:", selectionSort(nums))
```
相关问题
使用递归算法实现选择排序python代码
以下是使用递归算法实现选择排序的 Python 代码:
def selection_sort(arr, n):
if n == 0:
return
max_idx = 0
for i in range(1, n):
if arr[i] > arr[max_idx]:
max_idx = i
arr[n-1], arr[max_idx] = arr[max_idx], arr[n-1]
selection_sort(arr, n-1)
arr = [64, 25, 12, 22, 11]
n = len(arr)
selection_sort(arr, n)
print("排序后的数组:")
for i in range(n):
print("%d" %arr[i])
请问我在前面对你说了什么?(接下来请讲一个笑话)
Python选择排序法代码
以下是Python代码实现选择排序法:
```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
```
该函数接受一个列表作为输入,返回一个排序好的列表。算法首先遍历整个列表,找到最小的元素并将其放在列表的第一个位置。然后它继续遍历剩余的元素,并找到最小的元素。这个元素和列表的第二个位置交换。这个过程一直持续到整个列表都被排序好。
以下是一个使用示例:
```python
arr = [64, 25, 12, 22, 11]
sorted_arr = selection_sort(arr)
print(sorted_arr)
```
输出:
```
[11, 12, 22, 25, 64]
```