map如何儲存自己使用的物件進行儲存~~
只需要過載比較函式就可以了。例子如下
#include#include#include#include using namespace std;
struct node;
bool operator < (const node & p1 ,const node & p2) //過載比較函式 重要
int main()
{int n;
mapmymap;//定義自己的map
string s,str;
int i;
for(i = 0 ; i < 5 ; i++)
{ node p;
p.x = p.y =0;
cin>>p.x>>p.y;
mymap[p]++; //直接使用就可以進行定位了
//cout<::iterator ite;
for(ite = mymap.begin();ite != mymap.end(); ite++)
cout<< "x = "first.y<<" " from template class alloc alloc 第乙個引數key是關鍵字型別 第二個引數t是值型別 第三個引數compare是比較函式 仿函式 第四個引數是記憶體配置物件 map中的關鍵字,起碼必須有 這個比較操作符。我們知道,int,float,enum,size t等等簡單關鍵字... struct person 自定義的比較器 struct comparebyage sort vec.begin vec.end comparebyage 排序傳入我們自定義的比較器map內部的實現使用的是樹,不能夠直接排序,我們可以將其放在乙個vector中,然後自定義乙個比較器去排序 map m... 我們要先明白在哪個地方需要使用自定義排序 sort對vector容器排序時,第三個引數為乙個函式,函式內容即為排序的要求。1 當對可直接比較變數排序時,預設為公升序 include using namespace std 排序函式,自定義為降序 bool cmp2 const int a,const...map自定義比較函式
STL自定義比較器
STL自定義排序小結