2201_75735764 2025-01-03 20:49 采纳率: 0%
浏览 9

插入排序选择排序冒泡排序

求这三道题的答案 自己做的和ai做的不一样 想看看正确答案 谢谢
1.请用插入排序法对数列 3 2 10 23 11 9 进行递增排序,写出每趟排序后的数列。
2.请用选择排序法对数列3 2 10 23 11 9 进行递减排序,写出每趟排序后的数列。
3.请用冒泡排序法对数列3 2 10 23 11 9 进行递减排序,写出每趟排序后的数列。

  • 写回答

3条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-01-03 20:50
    关注
    让【道友老李】来帮你解答,本回答参考通义千问大模型编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    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. 选择排序法 每次选择未排序部分的最大值(或最小值)放到已排序部分的末尾。 第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
    2. 冒泡排序法 每次比较两个相邻的元素,如果顺序不对就交换位置,直到没有需要交换的元素。 第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())
    
    评论

报告相同问题?

问题事件

  • 提问应符合社区要求 1月3日
  • 创建了问题 1月3日