heapcompare.cpp

来自「标准模板库STL常用代码」· C++ 代码 · 共 44 行

CPP
44
字号
#include <cmath>
#include <iostream>
#include <algorithm>
#include <vector>
class myclass
{
 public:
  int x;
  int y;
  void add(int a,int b)
   {
    x=a;
    y=b;
   }
 bool operator < (const myclass &m)const {
                return y < m.y;
        }//this operator reloaded by seaeagle

}temp;

using namespace std;
int main()
{
 int xx,yy,i;
 vector <myclass> arr;
 vector <myclass> brr;

 for(i=0;i<5;i++)
  {
    cin>>xx>>yy;
    temp.add(xx,yy);
    arr.push_back(temp);
  }
 make_heap(arr.begin(),arr.end());
for(i=0;i<5;i++)
{ brr.push_back(arr[0]);
  pop_heap(arr.begin(),arr.end());
  arr.pop_back();
}
 for(i=0;i<5;i++)
  cout<<brr[i].x<<" "<<brr[i].y<<endl;
 return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?