c++ set自定义比较函数

set<char*>无法像set<string>一样进行默认的排序操作,需要自己定义比较函数进行排序,例子如下:

#include <stdio.h>

#include "stdafx.h"
#include<iostream>
#include "string.h"
#include<set>
#include<string>
using namespace std;


struct myComp
{
bool operator()(const char * a,const char* b)
{
return strcmp(a,b)<0;
}
};
static set<char *,myComp> dict;
void main(){
char * b="bb";
dict.insert(b);
dict.insert("a");
dict.insert("d");


set<char *,myComp>::iterator iter=dict.begin();  


while(iter!=dict.end())  
{  
cout<<*iter<<endl;
iter++;
}  


}

猜你喜欢

转载自blog.csdn.net/u011806486/article/details/79183981