안녕하세요. 제가 C++ STL 공부중에
알고리즘중 정렬 알고리즘을 배우는데 자료 구조 heap이 나오더라구요.
이진트리를 이용해서 힙을 만드는건 이해를 했는데
간단한 예제를 보는중 이상한? 점을 발견해서 질문하게 되었습니다.
vector<int> v;
v.push_back(10);
v.push_back(20);
v.push_back(30);
v.push_back(40);
v.push_back(50);
v.push_back(60);
make_heap(v.begin(), v.end());
for(int i = 0; i < v.size(); ++i)
cout<<v[i] << " ";
cout<<endl;
해보면
60 50 30 40 20 10
이런식으로 출력이 되더라구요.
결과값이 이런식으로 나와야 하는게 아닌가여?
60 50 40 30 20 10
60
50 40
30 20 10
이런식으로 힙이 생긴다고 생각했는데 아니네요;