c++里的容器

本文深入探讨了C++中vector、list和map容器的使用,通过具体代码示例展示了如何利用迭代器遍历这些容器,以及如何插入和访问元素。特别关注了map容器的键值对操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include "stdafx.h"

#include<windows.h>

#include<iostream>

#include<vector>

#include<list>

#include<map>

using namespace std;

//迭代器: 数据类型,用来查找容器元素的类型

//定义: 容器<数据类型>::iterator 迭代器名字

//typedef struct alertInfo {

//      double alertUp;

//      double alertDown;

//      alertInfo(double up, double down) {

//             alertUp = up;

//             alertDown = down;

//      };

//} alert;

struct sData

{

        sData()

        {

               iRow = 0;

               iCol = 0;

        }

        int iRow;

        int     iCol;

};

int main()

{

        //vector<int> VecNums;

        //for (int i=0; i < 7; i++)

        //{

        //      VecNums.push_back(i);

        //}

        ////VecNums.push_back(0);

        //vector<int>::iterator iter = VecNums.begin();    //iter++可以   *iter赋值可以

        //vector<int>::const_iterator iter2 = VecNums.begin();              //iter++可以   *iter赋值不可以

        //const vector<int>::iterator iter3 = VecNums.begin();              //iter++不可以   *iter赋值可以

        //for (;iter!=VecNums.end() ; ++iter)

        //{

        //      cout << *iter << endl;

        //}

        //定义:list<数据类型> 名字

        //list<int>List;

        //map容器

        //关键数组:键值对 key - value

        //map<int, alert> alert_map;

        //for (int i = 0; i < 10; i++) {

        //      alert_map.insert(pair<int, alert>(i, alert(240 * i, 200)));

        //}

        //for (auto it = alert_map.begin(); it != alert_map.end(); ++it) {

        //      cout << it->first << " - > " << it->second.alertUp << endl;

        //}

        map<int, sData>MapData;

        for (int i = 0; i < 10; i++)

        {

               sData sNewData;

               sNewData.iRow = i;

               sNewData.iCol = i;

               MapData.insert(pair<int, sData>(i, sNewData));

        }

        for (auto iter = MapData.begin(); iter != MapData.end(); ++iter)

        {

               cout << iter->first << "\t"<< iter->second.iRow << "\t" << iter->second.iCol<<endl;

        }

        system("pause");

    return 0;

        

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值