C++常用数据类型常用方法

vector

vector初始化

长度为0的空vectorvector vct1;
vector里面有n个0vector vct2(n);
vector里面有n个mvector vct3(n, m);
从已有的vector创建vector vct4 = vct3;
选取已有vector的部分创建vector vct5(vct4.begin()+2, vct.end()-1);
直接创建vector vct6 = {1,2,3,4,5,6};

vector常用方法

在末尾插入插入vct.push_back(num);
删除末尾元素(不返回)vct.pop_back();
获取长度int length = vct.size();
判空vct.empty();
根据下标查询vct[n];

string

string初始化

默认的初始化,s1为一个空字符串string s1;
s2是s1的副本string s2 = s1;
直接赋初值string s3 = “abcd”;
直接赋初值string s4(“abcd”);
初始化字符串为n个’c’string s5(n,‘c’);

string方法

索引s[n]
连接s1+s2
赋值s1 = s2
比较s1 == s2
判空s.empty()
长度size

queue

queue创建

queue<type> myQue;

queue方法

取队头元素(引用)myQue.front()
取队尾元素(引用)myQue.back()
入队myQue.push()
出队(无返回值)myQue.pop()
大小myQue.size()
判空myQue.empty()

stack

stack创建

stack<type> st;

stack方法

入栈st.push();
出栈(无返回值)st.pop();
取栈顶元素st.top;
大小st.size();
判空st.empty();

map

类型

类型key是否有序键是否可重复效率底层实现
mapO(logN)红黑树
multimapO(logN)红黑树
unordered_mapO(1)hash
unordered_multimapO(1)hash

创建

创建空mapunordered_map<int, int> myMap1;
直接赋值unordered_map<int, int> myMap2 {{k1, v1}, {k2, v2}…};
拷贝赋值unordered_map<int, int> myMap3 {myMap2};

方法

插入myMap[newKey] = newValue;
判空myMap.empty();
长度myMap.size();
返回某元素个数myMap.count(key)
查找某元素(返回迭代器)myMap.find(key);

查找(判断某元素是否在map中出现过)

//法1 使用count

if (myMap.count(k) >0 ) return found;
// 法2, 用find方法

auto iter = myMap.find(key);
if(iter != myMap.end()){
	cout<< iter->first << iter->second <<endl;
	// first指key, second指value
	return found;
}

set

同map

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值