Viết lại các thuật toán sắp xếp trong bài theo thứ tự giảm dần.

Viết lại các thuật toán sắp xếp trong bài theo thứ tự giảm dần.

Trả lời

1.Thuật toán sắp xếp chèn:

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

2. Thuật toán sắp xếp chọn :

def selection_sort(arr):

    n = len(arr)

    for i in range(n - 1):

        max_idx = i

        for j in range(i + 1, n):

            if arr[j] > arr[max_idx]:

                max_idx = j

        arr[i], arr[max_idx] = arr[max_idx], arr[i]

    return arr

3.Thuật toán sắp xếp nổi bọt:

def bubble_sort(arr):

    n = len(arr)

    for i in range(n - 1):

        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

Câu hỏi cùng chủ đề

Xem tất cả