您的位置:首页 > 其它

STL heap简单应用

2013-05-21 17:53 330 查看
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
void print(vector<int>::iterator begin,vector<int>::iterator end)
{
vector<int>::iterator pos=begin;;
for(;pos!=end;++pos)
cout<<*pos<<" ";
cout<<endl;
}
void main()
{
int ia[9]={0,1,2,3,4,8,9,3,6};
vector<int> ivec(ia,ia+9);
make_heap(ivec.begin(),ivec.end()); //构造大根堆
print(ivec.begin(),ivec.end());
ivec.push_back(7);
push_heap(ivec.begin(),ivec.end());
print(ivec.begin(),ivec.end());
pop_heap(ivec.begin(),ivec.end());
print(ivec.begin(),ivec.end());
cout<<ivec.back()<<endl;
ivec.pop_back();
print(ivec.begin(),ivec.end());
sort_heap(ivec.begin(),ivec.end());  //堆排序
print(ivec.begin(),ivec.end());

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: