void print(vector<int> &ivec)
{
	copy(ivec.begin(),ivec.end(),ostream_iterator<int>(cout," "));
	cout<<endl;
}

int _tmain(int argc, _TCHAR* argv[])
{
	int a[] = {9,1,3,5,65,7,99,2,4,6,8,0,11,15,12,14};
	const int num = sizeof(a) / sizeof(a[0]);
	vector<int> ivec(a,a + num);
	print(ivec);

	cout<<"heap:"<<endl;
	make_heap(ivec.begin(),ivec.end(),less<int>());
	print(ivec);

	cout<<"push new element"<<endl;
	ivec.push_back(100);
	push_heap(ivec.begin(),ivec.end());
	print(ivec);

	cout<<"pop max"<<endl;
	pop_heap(ivec.begin(),ivec.end());
	print(ivec);
	ivec.pop_back();
	print(ivec);

	cout<<"heap sort"<<endl;
	sort_heap(ivec.begin(),ivec.end());
	print(ivec);
	return 0;
}

 

posted on 2014-12-02 08:52  风云逸  阅读(81)  评论(0)    收藏  举报