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

stable_sort() trong STL C++


Phương thức stable_sort của STL trước tiên sắp xếp các phần tử với tên làm khóa theo thứ tự tăng dần, sau đó các phần tử được sắp xếp với phân đoạn làm khóa. Hơn nữa, thuật toán stable_sort() được coi là ổn định vì thứ tự tương đối của các phần tử tương đương được giữ nguyên. Dưới đây là mã nguồn chương trình C++ minh họa thuật toán stable_sort():

Ví dụ mã C++

#include <bits/stdc++.h>
using namespace std;

int main(){
    int arr[] = {11, 15, 18, 19, 16, 17, 13, 20, 14, 12, 10};
    int n = sizeof(arr) / sizeof(arr[0]);
    stable_sort(arr, arr + n);
    cout << "Mảng sau khi sắp xếp =";
    for (int i = 0; i < n; ++i)
        cout << arr[i] << " ";
    return 0;
}

Đầu ra

Chương trình C++ này cho mảng sau khi sắp xếp theo thứ tự tăng dần như sau:

Mảng sau khi sắp xếp = 10 11 12 13 14 15 16 17 18 19 20