• STL容器


     1 #include<iostream>
     2 using namespace std;
     3 #include "vector" //数组容器
     4 #include "algorithm"//算法容器
     5 
     6 void main11()
     7 {
     8     vector<int> v1;  //1.v1是一个数组容器
     9     v1.push_back(1); //将数据拷贝到容器中
    10     v1.push_back(-1);
    11     v1.push_back(3);
    12     v1.push_back(5);
    13     v1.push_back(3);
    14 
    15     // 2.迭代器:相当于一个指针
    16     for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++)
    17     {
    18         cout << *it << " ";
    19     }
    20 
    21     //3算法 算法和迭代器进行无缝的链接
    22     int num1 = count(v1.begin(), v1.end(), 3);// 这是统计数据的一个算法
    23 
    24     cout << "num1 = " << num1 << endl;
    25 
    26 }
    27 
    28 
    29 int main()
    30 {
    31     
    32 
    33     main11();
    34 
    35     system("pause");
    36     return 0;
    37 
    38 }

    容器中装对象时:

    #include<iostream>
    using namespace std;
    #include "vector" //数组容器
    #include "algorithm"//算法容器
    
    
    class Teacher
    {
    public:
        int age;
        char name[64];
    
    public:
        void printF()
        {
            cout << "age : " << age << endl;
        }
    
    };
    //容器中 装 元素
    void main12()
    {
    
        Teacher t1, t2, t3;
        t1.age = 31;
        t2.age = 32;
        t3.age = 33;
        vector<Teacher> v1;  //1.v1是一个数组容器 容器实现了数据类型和算法的有效分离
        v1.push_back(t1); //将数据拷贝到容器中
        v1.push_back(t2);
        v1.push_back(t3);
    
        // 2.迭代器:相当于一个指针
        for (vector<Teacher>::iterator it = v1.begin(); it != v1.end(); it++)
        {
            cout << it->age << " ";
        }
    
        //3算法 算法和迭代器进行无缝的链接
        //int num1 = count(v1.begin(), v1.end(), 3);// 这是统计数据的一个算法
    
        //cout << "num1 = " << num1 << endl;
    
    }
    
    
    int main()
    {
        
    
        main12();
    
        system("pause");
        return 0;
    
    }

    容器中装指针时:

    #include<iostream>
    using namespace std;
    #include "vector" //数组容器
    #include "algorithm"//算法容器
    
    
    class Teacher
    {
    public:
        int age;
        char name[64];
    
    public:
        void printF()
        {
            cout << "age : " << age << endl;
        }
    
    };
    //容器中 装 元素
    void main13()
    {
    
        Teacher t1, t2, t3;
        t1.age = 31;
        t2.age = 32;
        t3.age = 33;
        Teacher* p1, * p2, * p3;
        p1 = &t1; //使用引用 方式出现深拷贝和浅拷贝
        p2 = &t2;
        p3 = &t3;
    
    
        vector<Teacher *> v1;  //1.v1是一个数组容器 容器实现了数据类型和算法的有效分离
        v1.push_back(p1); //把t1,t2,t3内存首地址放入到了容器
        v1.push_back(p2);
        v1.push_back(p3);
    
        // 2.迭代器:相当于一个指针
        for (vector<Teacher *>::iterator it = v1.begin(); it != v1.end(); it++)
        {
            cout << (*it)->age << endl;//指针指向age
        }
    
        //3算法 算法和迭代器进行无缝的链接
        //int num1 = count(v1.begin(), v1.end(), 3);// 这是统计数据的一个算法
    
        //cout << "num1 = " << num1 << endl;
    
    }
    
    
    int main()
    {
        
    
        main13();
    
        system("pause");
        return 0;
    
    }
  • 相关阅读:
    如何做兼容性测试
    兼顾pc和移动端的textarea字数监控的实现方法
    js监听audio播放完毕
    layer弹出层移动端组件
    moment.js(日期处理类库)的使用
    移动端跳转方案-解决误触
    js移动端回退监听 popstate
    js大数计算之展示
    js大数计算之计算
    封装jquery的ajax
  • 原文地址:https://www.cnblogs.com/ymj11/p/13803940.html
Copyright © 2020-2023  润新知