list_sort

list_sort (std::list::sort — 정렬)

std::list의 원소를 정렬하는 멤버 함수예요. 동등한 원소들의 상대적 순서도 유지돼요.

출처: cppreference

본문

시그니처는 다음과 같아요.

void sort();                           // (1)
template< class Compare >
void sort( Compare comp );            // (2)

원소를 정렬하고 동등한 원소들의 순서를 유지해요. 참조나 이터레이터는 무효화되지 않아요.

(1) 원소들을 operator<로 비교해요.

(2) 원소들을 comp로 비교해요. 예외가 던져지면 *this의 원소 순서는 지정되지 않아요.

매개변수

  • comp: 첫 인자가 두 번째 인자보다 작을 때 true를 반환하는 비교 함수 객체.

복잡도

대략 N·log(N) 번의 비교. 여기서 Nstd::distance(begin(), end())예요.

예제

#include <list>
#include <iostream>
int main()
{
    std::list<int> l = {8, 7, 5, 9, 0, 1, 3, 2, 6, 4};
    l.sort();
    for (int x : l) std::cout << x << ' ';   // 0 1 2 3 4 5 6 7 8 9
}

더 알아보기 (Learn more)

cppreference