C++에서 STL 컨테이너를 정렬하는 방법: sort() 함수를 사용하여 std::Vector와 같은 컨테이너를 제자리에 정렬합니다. 순서가 지정된 컨테이너 std::set 및 std::map을 사용하면 삽입 시 요소가 자동으로 정렬됩니다. 사용자 정의 정렬 순서의 경우 문자열 벡터를 알파벳순으로 정렬하는 것과 같은 사용자 정의 비교기 클래스를 사용할 수 있습니다.
STL(표준 템플릿 라이브러리)은 정렬을 포함하여 컨테이너에서 다양한 작업을 수행하기 위한 유연하고 효율적인 범용 알고리즘 세트를 제공합니다. 다음 섹션에서는 C++에서 STL 컨테이너를 정렬하는 몇 가지 일반적인 방법을 설명합니다.
std::sort()
함수는 C++에서 컨테이너 정렬을 위한 가장 간단한 함수입니다. 컨테이너에 대한 참조나 포인터를 입력으로 받아들이고 해당 요소를 제자리에 정렬합니다. 다음 예에서는 sort()
함수를 사용하여 std::벡터
를 정렬하는 방법을 보여줍니다. std::sort()
函数是 C++ 中进行容器排序最简单的函数。它接受一个容器的引用或指针作为输入,并将其元素原地排序。以下示例演示如何使用 sort()
函数对一个 std::vector
进行排序:
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> v = {3, 1, 4, 2, 5}; // 使用 sort() 函数对向量进行排序 std::sort(v.begin(), v.end()); // 打印排序后的向量 for (int num : v) { std::cout << num << " "; } return 0; }
输出:
1 2 3 4 5
std::set
和 std::map
是 C++ 中的有序容器,它们维护自己的元素集合并在插入时自动对元素进行排序。以下示例展示如何使用 std::set
#include <iostream> #include <set> int main() { std::set<int> s = {3, 1, 4, 2, 5}; // 由于 std::set 是有序的,元素按升序存储 for (int num : s) { std::cout << num << " "; } return 0; }
출력:
1 2 3 4 5Using std::set 및 std: :map의 내장 정렬 기능
std::set
및 std::map
은 C++에서 자체 요소 집합을 유지하고 요소를 자동으로 정렬하는 정렬된 컨테이너입니다. 다음 예에서는 std::set
를 사용하여 정수 집합을 생성하고 정렬하는 방법을 보여줍니다. #include <iostream> #include <vector> #include <algorithm> class StringComparator { public: bool operator()(const std::string& a, const std::string& b) const { return a < b; } }; int main() { std::vector<std::string> v = {"apple", "banana", "cherry", "dog", "elephant"}; // 使用自定义比较器对向量进行排序 std::sort(v.begin(), v.end(), StringComparator()); // 打印排序后的向量 for (const std::string& s : v) { std::cout << s << " "; } return 0; }
출력:
apple banana cherry dog elephant사용자 정의 정렬 비교기🎜🎜사용자 정의 정렬 순서가 다음과 같은 경우 필요한 경우 사용자 정의 비교기 클래스를 통해 구현할 수 있습니다. 다음 예에서는 문자열 벡터를 알파벳순으로 정렬하는 사용자 지정 비교기를 만드는 방법을 보여줍니다. 🎜rrreee🎜🎜출력: 🎜🎜rrreee
위 내용은 C++ STL 컨테이너를 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!