set用法1

 # include 
# include 

using namespace std;

/*
    set(集)-->不重复 
    multiset(多集) -->允许重复 
    红黑数(熟读快) 
    大数据使用方便,自动排序
    缺点:插入慢 
    不能通过find进行修改 
*/

//声明一个函数模板 
template <typename Container>
void PrintContents(const Container &c) ;

int main(){

    set<int> a;
    multiset<int> ma;

    a.insert(30);
    a.insert(-1);   
    a.insert(3000);
    a.insert(30);
    //count计算a中几个30
    cout<30)<//1  没有返回0 

    //打印
//    set::const_iterator itr = a.begin();
//    while(itr != a.end()){
//        cout<<*itr<
//        itr++;  
//    } 
     PrintContents(a);



    //set的数据插入到 multiset中
    ma.insert(a.begin(),a.end()); 
    ma.insert(3000);

    //count计算ma中几个3000 
    cout<3000)<//2      没有返回0 

    //打印
//    multiset::const_iterator iter = ma.begin();
//    while(iter != ma.end()){
//        cout<<*iter<
//       iter++; 
//    } 
    PrintContents(ma);


    return 0;
}

//模板函数的定义 
//利用类模范自动获取类型 
template <typename Container>
void PrintContents(const Container & c){

     //typename 通知编译器的类型 
    typename Container::const_iterator i = c.begin();
    while(i!=c.end()){
        cout<<*i<cout<

你可能感兴趣的:(STL,set)