sort ¶
- μ°λ¦¬λ νλ‘κ·Έλ¨ μ²¨ λ°°μΈλ sort μ§λκ±Έ λ§μ΄ νλ€. μνμκ°μ΄ ΞΈ(n*n)μ΄λ λλ μνΈλ₯Ό μ§κ³€ νλ€.
- STLμμλ Quick Sortλ₯Ό μ½κ° λ³νν Sort μκ³ λ¦¬μ¦μ μ 곡νλ€.
- μμ λ₯Ό 보μ.
~cpp #include <iostream> #include <vector> #include <algorithm> // sort μκ³ λ¦¬μ¦ μ°κΈ° μνκ² #include <functional> // less, greater μ°κΈ° μνκ² using namespace std; typedef vector<int>::iterator VIIT; int main() { int ar[10] = {45,12,76,43,75,32,85,32,19,98}; vector<int> v(&ar[0], &ar[10]); sort(v.begin(), v.end(), less<int>()); // μ€λ¦μ°¨μ for(VIIT it = v.begin() ; it != v.end(); ++it) cout << *it << endl; cout << endl; sort(v.begin(), v.end(), greater<int>()); // λ΄λ¦Όμ°¨μ for(VIIT it = v.begin() ; it != v.end(); ++it) cout << *it << endl; // κ°λ¨νκ² μ€λ¦μ°¨μ μΈκ±°λ©΄ <functional> μμ κ³ sort(v.begin(), v.end()) νλ©΄ λλ€. return 0; }
- STLμ μ΄λ° νΈλ¦¬ν¨μ νλ‘κ·Έλλ¨Έκ° μλ£κ΅¬μ‘° λ§λλλΌ μ μ°λ μκ°μ μκ³ λ¦¬μ¦μ μκ°νλ μκ°μΌλ‘ λλ €μ€λ€.
- νκ°μ§ μ£Όμν μ . μ΄ sortμκ³ λ¦¬μ¦μ 컨ν
μ΄λκ° μμ μ κ·Ό(Random Access)μ νμ©νλ€λ κ°μ νμ λ§λ κ²μ΄λ€. vectorλ dequeμ²λΌ μμ μ κ·Όμ νμ©νλ 컨ν
μ΄λλ μ΄κ±Έ μΈμ μμ§λ§. listλ μμ μ κ·Όμ΄ λΆκ°λ₯ν΄μ μ¬μ©ν μ μλ€. -l5 μ΄λ° μ κ·Όμ΄ μλλ€λ μλ―Έ - λ°λΌμ listμμλ 컨ν
μ΄λ λ΄λΆμμ sortλ©μλλ₯Ό μ κ³΅ν΄ μ€λ€.
STL