= sort = * 우리는 프로그램 첨 배울때 sort 짜는걸 많이 한다. 수행시간이 θ(n*n)이나 되는 소트를 짜곤 했다. * STL에서는 Quick Sort를 약간 변형한 Sort 알고리즘을 제공한다. * 예제를 보자. {{{~cpp #include #include #include // sort 알고리즘 쓰기 위한것 #include // less, greater 쓰기 위한것 using namespace std; typedef vector::iterator VIIT; int main() { int ar[10] = {45,12,76,43,75,32,85,32,19,98}; vector v(&ar[0], &ar[10]); sort(v.begin(), v.end(), less()); // 오름차순 for(VIIT it = v.begin() ; it != v.end(); ++it) cout << *it << endl; cout << endl; sort(v.begin(), v.end(), greater()); // 내림차순 for(VIIT it = v.begin() ; it != v.end(); ++it) cout << *it << endl; // 간단하게 오름차순 쓸거면 없애고 sort(v.begin(), v.end()) 하면 된다. return 0; } }}} * STL의 이런 편리함은 프로그래머가 자료구조 만드느라 애쓰는 시간을 알고리즘을 생각하는 시간으로 돌려준다. * 한가지 주의할점. 이 sort알고리즘은 컨테이너가 임의 접근(Random Access)을 허용한다는 가정하에 만든것이다. vector나 deque처럼 임의 접근을 허용하는 컨테이너는 이걸 쓸수 있지만. list는 임의 접근이 불가능해서 사용할수 없다. -l[5] 이런 접근이 안된다는 의미 - 따라서 list에서는 컨테이너 내부에서 sort메소드를 제공해 준다. ---- ["STL"]