forward_list_sort
forward_list_sort (std::forward_list::sort — 정렬)
std::forward_list의 원소를 정렬하는 멤버 함수예요. 동등한 원소들의 상대적 순서도 유지돼요.
출처: cppreference
본문
시그니처는 다음과 같아요.
void sort(); // (1) (since C++11)
template< class Compare >
void sort( Compare comp ); // (2) (since C++11)
원소를 정렬하고 동등한 원소들의 순서를 유지해요. 참조나 이터레이터는 무효화되지 않아요.
(1) 원소들을 operator<로 비교해요.
(2) 원소들을 comp로 비교해요. 예외가 던져지면 *this의 원소 순서는 지정되지 않아요.
매개변수
comp: 첫 인자가 두 번째 인자보다 작을 때(즉 앞에 정렬될 때)true를 반환하는 비교 함수 객체.
복잡도
대략 N·log(N) 번의 비교. 여기서 N은 std::distance(begin(), end())예요.
예제
#include <iostream>
#include <forward_list>
int main()
{
std::forward_list<int> fl = {8, 7, 5, 9, 0, 1, 3, 2, 6, 4};
fl.sort();
for (int x : fl) std::cout << x << ' '; // 0 1 2 3 4 5 6 7 8 9
}