关闭

数据结构应用标准模版库STL——堆

标签: 堆排序heap数据结构C++stl
696人阅读 评论(0) 收藏 举报
分类:

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
	int a[]={1,3,5,2,8,11};
	int size=sizeof(a)/sizeof(int);
	vector<int> v(a,a+size);
	make_heap(v.begin(),v.end());//建堆
	cout<<v.front ()<<endl;  //堆的第一个元素

	pop_heap(v.begin(),v.end ());
	v.pop_back();//删除堆的第一个元素
	cout<<v.front ()<<endl;  //堆的第一个元素
	
	v.push_back (100);//在最后面插入一个元素
	push_heap(v.begin(),v.end ());//重构堆
	cout<<v.front ()<<endl;//删除堆的第一个元素

	sort_heap(v.begin(),v.end());  //堆排序,从小到大

	while(!v.empty())
	{
		cout<<v.back()<<" ";
		v.pop_back();
	}

	return 0;

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:71616次
    • 积分:1398
    • 等级:
    • 排名:千里之外
    • 原创:64篇
    • 转载:1篇
    • 译文:2篇
    • 评论:24条
    最新评论