溫馨提示×

C++ stable_sort()實例講解

c++
小云
110
2023-10-08 02:43:53
欄目: 編程語言

stable_sort()是C++標準庫中的一個排序算法,它用于對容器中的元素進行排序。與其他排序算法不同的是,stable_sort()會保持相等元素的相對順序不變。

下面是一個使用stable_sort()的簡單示例,對一個包含字符串的vector進行排序:

#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<std::string> fruits = {"banana", "apple", "orange", "grape", "apple"};
std::cout << "Before sorting:" << std::endl;
for (const auto& fruit : fruits) {
std::cout << fruit << " ";
}
std::cout << std::endl;
std::stable_sort(fruits.begin(), fruits.end());
std::cout << "After sorting:" << std::endl;
for (const auto& fruit : fruits) {
std::cout << fruit << " ";
}
std::cout << std::endl;
return 0;
}

這個示例首先創(chuàng)建了一個vector fruits,其中包含了一些水果名稱。然后,使用stable_sort()對fruits進行排序。排序后,打印出排序后的結果。

輸出結果為:

Before sorting:
banana apple orange grape apple
After sorting:
apple apple banana grape orange

可以看到,排序后的fruits按照字母順序進行了排序,同時相等的元素(這里是"apple")的相對順序保持不變。

這就是使用stable_sort()的一個簡單示例。它適用于對容器中的元素進行排序,并且需要保持相等元素的相對順序不變的情況。

0