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










