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

Chương trình C++ thuật toán Gnome Sort


Gnome Sort là thuật toán sắp xếp giống Insertion Sort, khác ở chỗ di chuyển phần tử đến vị trí đúng bằng chuỗi hoán đổi (swaps), như Bubble Sort.

Ví dụ

Input: 5 3 4 2 1 
Output: 1 2 3 4 5

Giải thích

Thuật toán sắp xếp di chuyển phần tử đến vị trí đúng bằng chuỗi hoán đổi như Bubble Sort. Chỉ cần vòng lặp đơn giản.

Ví dụ mã C++

#include <iostream> 
using namespace std; 

int main() { 
    int temp; 
    int arr[] = {5, 3, 4, 2, 1}; 
    int n = 5; 
    int i = 0; 
    while (i < n) { 
        if (i == 0 || arr[i - 1] <= arr[i]) 
            i++; 
        else { 
            temp = arr[i-1]; 
            arr[i - 1] = arr[i]; 
            arr[i] = temp; 
            i = i - 1; 
        } 
    } 
    for (i = 0; i < n; i++) 
        cout << arr[i] << "\t"; 
}