zoukankan      html  css  js  c++  java
  • C++ 提高编程 set/multiset 容器--二叉树

    #include <set>
    
    void printSet(set<int> & s)
    {
        for (set<int>::iterator it = s.begin(); it != s.end(); it++)
        {
            cout << *it << " ";
        }
        cout << endl;
    }
    
    //构造和赋值
    void test01()
    {
        set<int> s1;
    
        s1.insert(10);
        s1.insert(30);
        s1.insert(20);
        s1.insert(40);
        printSet(s1);
    
        //拷贝构造
        set<int>s2(s1);
        printSet(s2);
    
        //赋值
        set<int>s3;
        s3 = s2;
        printSet(s3);
    }
    
    int main() {
    
        test01();
    
        system("pause");
    
        return 0;
    }

    #include <set>
    
    void printSet(set<int> & s)
    {
        for (set<int>::iterator it = s.begin(); it != s.end(); it++)
        {
            cout << *it << " ";
        }
        cout << endl;
    }
    
    //大小
    void test01()
    {
    
        set<int> s1;
        
        s1.insert(10);
        s1.insert(30);
        s1.insert(20);
        s1.insert(40);
    
        if (s1.empty())
        {
            cout << "s1为空" << endl;
        }
        else
        {
            cout << "s1不为空" << endl;
            cout << "s1的大小为: " << s1.size() << endl;
        }
    
    }
    
    //交换
    void test02()
    {
        set<int> s1;
    
        s1.insert(10);
        s1.insert(30);
        s1.insert(20);
        s1.insert(40);
    
        set<int> s2;
    
        s2.insert(100);
        s2.insert(300);
        s2.insert(200);
        s2.insert(400);
    
        cout << "交换前" << endl;
        printSet(s1);
        printSet(s2);
        cout << endl;
    
        cout << "交换后" << endl;
        s1.swap(s2);
        printSet(s1);
        printSet(s2);
    }
    
    int main() {
    
        //test01();
    
        test02();
    
        system("pause");
    
        return 0;
    }

    #include <set>
    
    void printSet(set<int> & s)
    {
        for (set<int>::iterator it = s.begin(); it != s.end(); it++)
        {
            cout << *it << " ";
        }
        cout << endl;
    }
    
    //插入和删除
    void test01()
    {
        set<int> s1;
        //插入
        s1.insert(10);
        s1.insert(30);
        s1.insert(20);
        s1.insert(40);
        printSet(s1);
    
        //删除
        s1.erase(s1.begin());
        printSet(s1);
    
        s1.erase(30);
        printSet(s1);
    
        //清空
        //s1.erase(s1.begin(), s1.end());
        s1.clear();
        printSet(s1);
    }
    
    int main() {
    
        test01();
    
        system("pause");
    
        return 0;
    }

    #include <set>
    
    //查找和统计
    void test01()
    {
        set<int> s1;
        //插入
        s1.insert(10);
        s1.insert(30);
        s1.insert(20);
        s1.insert(40);
        
        //查找
        set<int>::iterator pos = s1.find(30);
    
        if (pos != s1.end())
        {
            cout << "找到了元素 : " << *pos << endl;
        }
        else
        {
            cout << "未找到元素" << endl;
        }
    
        //统计
        int num = s1.count(30);
        cout << "num = " << num << endl;
    }
    
    int main() {
    
        test01();
    
        system("pause");
    
        return 0;
    }

    void test01()
    {
        set<int> s;
        pair<set<int>::iterator, bool>  ret = s.insert(10);
        if (ret.second) {
            cout << "第一次插入成功!" << endl;
        }
        else {
            cout << "第一次插入失败!" << endl;
        }
    
        ret = s.insert(10);
        if (ret.second) {
            cout << "第二次插入成功!" << endl;
        }
        else {
            cout << "第二次插入失败!" << endl;
        }
        
        //multiset
        multiset<int> ms;
        ms.insert(10);
        ms.insert(10);
    
        for (multiset<int>::iterator it = ms.begin(); it != ms.end(); it++) {
            cout << *it << " ";
        }
        cout << endl;
    }
    
    int main() {
    
        test01();
    
        system("pause");
    
        return 0;
    }
  • 相关阅读:
    装饰设计模式
    Enum的基本使用
    java根据文件流判断文件类型(后缀名)
    Java正则表达式的用法
    java遍历Map
    java操作json
    struts2+ajax+jquery
    Hibernate注解
    oracle经典建表语句--scott建表
    Struts2 ui标签
  • 原文地址:https://www.cnblogs.com/gjianli/p/15343232.html
Copyright © 2011-2022 走看看