求这三道题的答案 自己做的和ai做的不一样 想看看正确答案 谢谢
1.请用插入排序法对数列 3 2 10 23 11 9 进行递增排序,写出每趟排序后的数列。
2.请用选择排序法对数列3 2 10 23 11 9 进行递减排序,写出每趟排序后的数列。
3.请用冒泡排序法对数列3 2 10 23 11 9 进行递减排序,写出每趟排序后的数列。
插入排序选择排序冒泡排序
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注让【道友老李】来帮你解答,本回答参考通义千问大模型编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
如果答案让您满意,请采纳、关注,非常感谢!
1. 插入排序法 首先,将第一个元素视为有序序列,从第二个元素开始插入。每次插入时,将当前元素与已排序序列从后往前比较,找到合适位置插入。 第1趟:2 3 10 23 11 9 第2趟:2 3 10 23 11 9 第3趟:2 3 10 11 23 9 第4趟:2 3 9 10 11 23- 选择排序法 每次选择未排序部分的最大值(或最小值)放到已排序部分的末尾。 第1趟:23 2 10 3 11 9 第2趟:23 11 10 3 2 9 第3趟:23 11 10 3 2 9 第4趟:23 11 10 9 2 3
- 冒泡排序法 每次比较两个相邻的元素,如果顺序不对就交换位置,直到没有需要交换的元素。 第1趟:23 10 11 9 3 2 第2趟:23 11 10 9 3 2 第3趟:23 11 10 9 3 2 第4趟:23 11 10 9 3 2 第5趟:23 11 10 9 3 2 代码示例(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 print(arr) # 选择排序 def selection_sort(arr): for i in range(len(arr)): max_idx = i for j in range(i+1, len(arr)): if arr[j] > arr[max_idx]: max_idx = j arr[i], arr[max_idx] = arr[max_idx], arr[i] print(arr) # 冒泡排序 def bubble_sort(arr): for i in range(len(arr)): for j in range(0, len(arr)-i-1): if arr[j] < arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] print(arr) arr = [3, 2, 10, 23, 11, 9] print("Insertion Sort:") insertion_sort(arr.copy()) print("\nSelection Sort:") selection_sort(arr.copy()) print("\nBubble Sort:") bubble_sort(arr.copy())解决 无用评论 打赏 举报