C++ 利用make_heap建立小根堆

利用make_heap建立小根堆,首先要#include

	vector mm85;
	mm85.push_back(4);
	mm85.push_back(1);
	mm85.push_back(7);
	mm85.push_back(2);
	mm85.push_back(5);
	mm85.push_back(8);
	mm85.push_back(3);
	mm85.push_back(9);
	mm85.push_back(6);

	cout << "建堆:"<());
	for (int i = 0; i < mm85.size(); i++){
		cout << mm85[i] << " ";
	}
	cout << endl;
///
	pop_heap(mm85.begin(), mm85.end(),greater());
	cout << "弹出堆顶:"<());
	cout << "进堆:"<

当make_heap中使用了greater()后,后面pop_heap和push_heap都要加上。并且每次pop_heap后,都要从原容器中删除出堆的元素。

C++ 利用make_heap建立小根堆_第1张图片

你可能感兴趣的:(技术细节)