본문 바로가기
Programming/Tips(C++,C#)

Algorithm : Sorting

by 곰네Zip 2011. 10. 11.
참고자료
c++.com : http://cplusplus.com/reference/
일반적프로그래밍과 STL책.

저도 잘 모르는 내용이지만 제 임의대로 제가 기억하려고 올리는 것이므로 태클 환영합니다.

Sort : 정렬해줌

방법1

template <class RandomAccessIterator>

  void sort ( RandomAccessIterator first, RandomAccessIterator last );

 


 

방법2

template <class RandomAccessIterator, class Compare>

void sort ( RandomAccessIterator first, RandomAccessIterator last, Compare comp );

 

Stable_sort : sort이지만 비내림차순으로 정렬. 같은 값들에 대해 순서를 유지함. (sort는 안그럼)

방법1

template <class RandomAccessIterator>

  void stable_sort ( RandomAccessIterator first, RandomAccessIterator last );

방법2

template <class RandomAccessIterator, class Compare>

  void stable_sort ( RandomAccessIterator first, RandomAccessIterator last,

                     Compare comp );

 

partial sort : middle-first개의 요소만 정렬함.

방법1

template <class RandomAccessIterator>

  void partial_sort ( RandomAccessIterator first, RandomAccessIterator middle,

                      RandomAccessIterator last );

방법2.

template <class RandomAccessIterator, class Compare>

  void partial_sort ( RandomAccessIterator first, RandomAccessIterator middle,

                      RandomAccessIterator last, Compare comp );

 

Partial_sort_copy : middle-first개를 복사한 후 sort를 수행함

방법1.

template <class InputIterator, class RandomAccessIterator>

  RandomAccessIterator

    partial_sort_copy ( InputIterator first,InputIterator last,

                        RandomAccessIterator result_first,

                        RandomAccessIterator result_last );

방법2

template <class InputIterator, class RandomAccessIterator, class Compare>

  RandomAccessIterator

    partial_sort_copy ( InputIterator first,InputIterator last,

                        RandomAccessIterator result_first,

                        RandomAccessIterator result_last, Compare comp );

 


 

Nth_element : 구간의 일부분을 재배치 partial sort와의 차이는 구간이 정렬되었다는 보장이없음.

방법1

template <class RandomAccessIterator>

  void nth_element ( RandomAccessIterator first, RandomAccessIterator nth,

                     RandomAccessIterator last );

 

방법2.

template <class RandomAccessIterator, class Compare>

  void nth_element ( RandomAccessIterator first, RandomAccessIterator nth,

                     RandomAccessIterator last, Compare comp );

 

반응형

댓글