std::hive<T,Allocator>::sort
cppreference.net에서
template< class Compare = std::less<T> >
void sort( Compare comp = Compare() );
|
(C++26부터) | |
요소들을 정렬합니다. 메모리를 할당할 수 있습니다. 요소들은 comp을(를) 사용하여 비교됩니다. 동등한 요소들의 순서는 유지되지 않습니다.
*this에 있는 요소를 참조하는 참조자, 포인터 및 반복자와, past-the-end 반복자는 무효화될 수 있습니다.
T은(는) hive에 대해 MoveInsertable, MoveAssignable, 그리고 Swappable이어야 합니다. 그렇지 않으면, 동작이 정의되지 않습니다.
매개변수
| comp | - | 비교 함수 객체 (즉, Compare의 요구 사항을 만족하는 객체) 로, 첫 번째 인수가 두 번째 인수보다 true작으면 (즉, 순서가 앞서면) 을(를) 반환합니다. 비교 함수의 서명은 다음과 동등해야 합니다:
서명에 |
| 유형 요구 사항 | ||
-Compare는 Compare의 요구 사항을 충족해야 합니다.
| ||
복잡도
N·log(N) 번의 comp 적용, 여기서 N은(는) size()입니다.
예외
예외가 발생하면 *this에 있는 요소의 순서는 지정되지 않습니다.
참고 사항
std::sort와 ranges::sort는 임의 접근 반복자를 필요로 하므로 hive와 함께 사용할 수 없습니다.
예시
이 코드 실행하기
#include <hive>
#include <functional>
#include <print>
int main()
{
std::hive<int> hive{3, 1, 4, 1, 5, 9, 2, 6, 5};
std::println("Initially: {}", hive);
hive.sort();
std::println("Ascending: {}", hive);
hive.sort(std::greater<int>());
std::println("Descending: {}", hive);
}
출력:
Initially: [3, 1, 4, 1, 5, 9, 2, 6, 5]
Ascending: [1, 1, 2, 3, 4, 5, 5, 6, 9]
Descending: [9, 6, 5, 5, 4, 3, 2, 1, 1]
같이 보기
| 연속된 중복 요소를 제거합니다 (공개 멤버 함수) |