1.设计一个程序,用于演示直接插入排序法、冒泡排序法和简单选择排序法,要求采用菜单的形式进行选择。 2.测试数据:265,301,751,129,937,863,742,694,76,438 3.测试: 分别用上面的数据测试直接插入排序法、冒泡排序法和简单选择排序法,并把排序结果输出。
时间: 2024-03-27 17:36:26 浏览: 44
好的,这是您的问题:
1.设计一个程序,用于演示直接插入排序法、冒泡排序法和简单选择排序法,要求采用菜单的形式进行选择。 2.测试数据:265,301,751,129,937,863,742,694,76,438 3.测试: 分别用上面的数据测试直接插入排序法、冒泡排序法和简单选择排序法,并把排序结果输出。
以下是一个Python实现的程序,可以满足您的要求:
```
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
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]
def selection_sort(arr):
for i in range(len(arr)):
min_idx = i
for j in range(i + 1, len(arr)):
if arr[min_idx] > arr[j]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
def print_arr(arr):
for i in range(len(arr)):
print(arr[i], end=' ')
print()
arr = [265, 301, 751, 129, 937, 863, 742, 694, 76, 438]
while True:
print('请选择排序算法:')
print('1. 直接插入排序')
print('2. 冒泡排序')
print('3. 简单选择排序')
print('4. 退出程序')
choice = input()
if choice == '1':
insertion_sort(arr)
print('排序结果:')
print_arr(arr)
elif choice == '2':
bubble_sort(arr)
print('排序结果:')
print_arr(arr)
elif choice == '3':
selection_sort(arr)
print('排序结果:')
print_arr(arr)
elif choice == '4':
break
else:
print('请输入有效的选项!')
```
运行程序后,会出现一个菜单供您选择排序算法。输入相应的数字即可进行排序并输出结果。