实验7-必做题(1-1)用冒泡法、选择、插入等排序方法 排序
时间: 2023-12-18 11:05:26 浏览: 27
下面是使用Python实现冒泡排序、选择排序和插入排序的代码:
```python
# 冒泡排序
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(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-1):
min_index = i
for j in range(i+1, n):
if arr[j] < arr[min_index]:
min_index = j
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
# 插入排序
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, 25, 12, 22, 11]
print("原始数组:", arr)
print("冒泡排序后:", bubble_sort(arr))
print("选择排序后:", selection_sort(arr))
print("插入排序后:", insertion_sort(arr))
```
输出结果:
```
原始数组: [64, 25, 12, 22, 11]
冒泡排序后: [11, 12, 22, 25, 64]
选择排序后: [11, 12, 22, 25, 64]
插入排序后: [11, 12, 22, 25, 64]
```
可以看到,三种排序方法都能够正确地将数组进行排序。