c++基础(一):数据类型和结构
2014-11-24 15:30
351 查看
1.map
2.enum(枚举)
3.数组Vector
关于vector的操作
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)//降序了
相关文章推荐
- C++ 与 C#数据结构类型对应关系表
- java基础复习1--基本数据类型、运算符号、表达式语句与程序结构
- [C++]数据结构:平衡的二叉搜索树之AVL树的结构特点与基础插入删除操作
- C++---基础篇(结构--设计自己的数据类型)
- 一段小学信息技术基础知识的C++源程序: 函数,输入输出,数据类型,循环
- C++ 与 C#数据结构类型对应关系表
- 数据类型—C++基础篇
- [C++基础]048_获取数据类型
- 数据结构基础(C++版)(张力译版)校正 之一
- c++中的数据类型 运算符 和 表达式[c++ 基础(一)]
- C++ 与 C#数据结构类型对应关系表 (转)
- C++---基础篇(关键字/变量/常量/数据类型)
- C++数据类型基础知识
- [C++基础]C++4个转型操作符——数据类型转换
- C++基础(二) 基本数据类型与数值表达式
- java基础知识:数据类型,switch语句,分支结构
- C++基础1:C++中的数据类型和操作符
- C++数据类型和C#的部分对应关系 API与C#数据结构类型对应关系表
- 关于C++中数据基础数据类型的一个杂记
- C语言基础-数据类型提升的层次结构