Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python Gnome Sort


Trong bài viết này, chúng ta sẽ tìm hiểu giải pháp cho bài toán sau:

Đề bài – Cho một mảng, cần sắp xếp dùng Gnome Sort.

Thuật toán

1. Duyệt mảng từ trái sang phải.
2. Nếu phần tử hiện tại >= phần tử trước, tiến 1 bước.
3. Ngược lại, nếu nhỏ hơn, đổi chỗ 2 phần tử và lùi 1 bước.
4. Lặp cho đến hết mảng.

Hãy quan sát giải pháp trong triển khai dưới đây:

Ví dụ

def gnomeSort(arr, n):
    index = 0
    while index < n:
        if index == 0:
            index = index + 1
        if arr[index] >= arr[index - 1]:
            index = index + 1
        else:
            arr[index], arr[index-1] = arr[index-1], arr[index]
            index = index - 1
    return arr

# main
arr = [1, 4, 2, 3, 6, 5, 8, 7]
n = len(arr)
arr = gnomeSort(arr, n)
print("Dãy đã sắp xếp:")
for i in arr:
    print(i, end=" ")

Kết quả

Dãy đã sắp xếp: 1 2 3 4 5 6 7 7 8

Kết luận

Trong bài này, chúng ta đã học cách làm chương trình Python Gnome Sort.