C++의 정렬 기능은 컨테이너의 요소를 정렬하는 데 사용되는 유용한 STL 알고리즘 라이브러리 기능입니다. 기본 구문은 `sort(Iterator first, Iterator last)`입니다. 여기서 first와 last는 시퀀스의 시작 및 끝 위치를 정의하는 반복자입니다. 기본적으로 정렬 기능은 오름차순으로 정렬되지만 비교 기능을 제공하거나 '연산자<'를 오버로드하여 정렬을 맞춤설정할 수 있습니다. 사용자 정의 유형의 객체에 대해서는 비교 기능을 제공해야 합니다.
C++에서 정렬 함수는 컨테이너의 요소를 정렬하는 데 사용되는 STL(표준 템플릿 라이브러리) 알고리즘 라이브러리의 매우 유용한 함수입니다. 이 함수는
sort 함수의 기본 구문은 다음과 같습니다.
cpp
#include <algorithm> #include <vector> std::sort(Iterator first, Iterator last);
여기서 first와 last는 정렬할 시퀀스의 시작 위치와 끝 위치를 정의하는 반복자입니다. 마지막 반복자는 시퀀스의 "끝 위치"에 있는 다음 요소를 가리키므로 시퀀스의 실제 범위는 [first, last)입니다.
정렬 기능은 기본적으로 요소를 오름차순으로 정렬합니다. 사용자 정의 유형의 객체를 정렬해야 하는 경우 비교 기능이나 오버로드 연산자<를 제공해야 할 수도 있습니다.
다음은 정렬 기능을 사용하여 벡터
cpp
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> numbers = {5, 2, 8, 1, 9}; std::sort(numbers.begin(), numbers.end()); for (int num : numbers) { std::cout << num << ' '; } return 0; }
이 프로그램은 1 2 5 8 9를 출력합니다. 이는 오름차순으로 숫자 벡터의 요소입니다. 정렬된 결과를 순서대로 정렬합니다.
사용자 정의 유형의 개체를 정렬해야 하는 경우 비교 기능이나 오버로드 연산자<를 제공해야 합니다. 예를 들어 age 멤버 변수가 있는 Person 클래스가 있고 Person 개체를 나이별로 정렬한다고 가정합니다.
cpp
#include <iostream> #include <vector> #include <algorithm> class Person { public: std::string name; int age; Person(const std::string& name, int age) : name(name), age(age) {} // 重载 operator< 以便 sort 可以使用 bool operator<(const Person& other) const { return age < other.age; } }; int main() { std::vector<Person> people = { {"Alice", 30}, {"Bob", 20}, {"Charlie", 25} }; std::sort(people.begin(), people.end()); for (const auto& person : people) { std::cout << person.name << ": " << person.age << std::endl; } return 0; }
이 프로그램은 각 사람의 이름과 나이를 나이 오름차순으로 출력합니다. 정렬 함수가 Person 개체를 비교하는 방법을 알 수 있도록 연산자를 오버로드했습니다. 연산자
위 내용은 C++에서 정렬 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!