• c++基础(一):数据类型和结构


    1.map

     map<int, int> rankDict;//定义map 
    	rankDict[1] = 5;
    	rankDict[2] = 6;//map赋值 
    	int dictSize = rankDict.size();	//map的大小 
    	cout << dictSize <<endl;
    	map<int, int>::iterator iter;
    	for(iter = rankDict.begin();iter!=rankDict.end();iter++){
    		cout << iter->first <<endl;
    	}//遍历map 
    	iter = rankDict.find(2);//查找 
    	cout <<iter->first<<":"<<iter->second;//first为key,second为value
    	rankDict.clear();//清空
    	if (rankDict.empty()){//判断是否为空(True)
    		cout <<"empty";
    	}
    	rankDict.erase(iter);//删除指定的key的位置
    	rankDict.erase(1);//删除指定的key 
        //由于map的每个数据对应红黑树上的一个节点,这个节点在不保存你的数据 时,是占用16个字节的,一个父节点指针,左右孩子指针,还有一个枚举值(标示红黑的,相当于平衡二叉树中的平衡因子),很费内存.    
    

    2.enum(枚举)

    enum keyword{FIRST,SECOND,THIRD}
    void func(keyword key){
           switch(key){
                case FIRST:;
                case SECOND:;                     
    }   
    }
    

    3.数组Vector

    	vector<int> vecNumber;//可以变化大小的数组申请 
    	int number[] = {2,3,4};//直接初始化可以不写长度

    关于vector的操作

    	//vector的类型可以是int,double,string 还可以是结构体。但是得是可作用域的。 
    	vector<int> number;
    	for(int i=0;i<10;i++){
    		number.insert(number.begin()+i,i*i);//插入元素 
    	}
    	number.push_back(1000);//尾部插入,相当于python的append 
    	number.erase(number.begin()+3) //删除第三个元素
    	number.erase(number.begin()+i,number.end()+j);//删除[i+j-1]的区间 
    	number.size();//大小 
    	number.clear(); //清空 
        number.shrink_to_fit();//释放内存
    #include<algorithm> reverse(vec.begin(),vec.end()) //翻转vec,后面的迭代器可以不写。 sort(vec.begin(),vec.end())//升序排列,从小到大。 bool Comp(const int &a,const int &b) { return a>b; } sort(vec.begin(),vec.end(),Comp)//降序了

      

  • 相关阅读:
    [Flutter] 转一个Flutter学习思维导图
    [Node.js] TypeScript 实现 sleep 函数
    [Docker] Win10中安装Docker并运行Nginx镜像
    [Zabbix] 安装MySQL5.7, 部署Zabbix到CentOS 7日记
    [Delphi]无边框窗口最大化不挡任务栏方法
    [Flutter] 一些面试可能会问基础知识
    Flutter main future mirotask 的执行顺序
    Underscore.js基础入门
    将第三方包安装到maven本地仓库
    Ubuntu下JDK1.8安装后配置环境变量
  • 原文地址:https://www.cnblogs.com/huangxiaohen/p/4118804.html
Copyright © 2020-2023  润新知