c++力扣刷题常用

1.字典undered_map

作用:快速查找元素

声明及初始化:使用<>,访问、修改、添加元素使用[],

#include <unordered_map>
#include <iostream>

using namespace std;
int main()
{
	/*1.声明
声明一个键为int类型,值为char类型的哈希表
使用<>将键值类型括起来*/
	unordered_map<int, char> hmap;


	/*2.初始化*/
	unordered_map<int, char> amap{ {1,'a'},{2,'b'},{3,'c'} };//定义时初始化,最外层使用{},每一对键值对使用{}括起来,使用逗号隔开;
	amap[4] = 'd';//下标直接添加元素
	cout << amap[4]<<endl;//输出'd'
}

常用api

API作用说明
find查找元素传入参数键,存在该元素则返回改位置上的迭代器,否则返回哈希表最后一个元素下一个位置的迭代器。通过查询迭代器second属性访问该key对应的元素
count统计目标键值个数(查找元素)输入目标键值,由于哈希表键不允许重复,返回为1代表存在该键,为0表示不存在改键
erase删除元素传入参数键,删除对应键值对
begin指向哈希表开始位置的迭代器
end指向哈希表结束位置的下一个元素的迭代器一般配合find函数使用
size获得哈希表大小无参数
#include <unordered_map>
#include <iostream>

using namespace std;//声明命名空间
int main()
{
	/*1.声明
	声明一个键为int类型,值为char类型的哈希表
	使用<>将键值类型括起来*/
	unordered_map<int, char> hmap;


	/*2.初始化*/
	unordered_map<int, char> amap{ {1,'a'},{2,'b'},{3,'c'} };//定义时初始化,最外层使用{},每一对键值对使用{}括起来,使用逗号隔开;
	unordered_map<int, char> bmap{ amap };//通过已初始化哈希表初始化新的表
	
	//3.添加、修改元素
	amap[4] = 'd';//下标直接添加元素
	cout << amap[4] << endl;//输出'd'
	amap[4] = 'e';//修改键4对应的值为'e'
	cout << amap[4] << endl;//输出'e'

	//4.删除元素
	amap.erase(4);//删除键4,及其对应的值

	//5.查找元素
	if (amap.find(3)!=amap.end())//通过find函数查找是否存在键为4的键值对,不存在则返回结果为指向最后一个元素下一个位置的迭代器
	{
		cout << amap.find(3)->second << endl;//通过查询返回迭代器的second属性获得对应值
	}
	else
	{
		cout << "not find" << endl;
	}

	if (amap.count(4))//通过count查询是否存在键为4的键值对,返回1表示找到了,返回0为不存在
	{
		cout << "find key=4" << endl;
	}
	else
	{
		cout << "not find" << endl;
	}
}

哈希表的遍历

unordered_map<int, int> hmap{ {1,10},{2,12},{3,13} };
unordered_map<int, int>::iterator iter = hmap.begin();
for( ; iter != hmap.end(); iter++){
 cout << "key: " <<  iter->first  << "value: " <<  iter->second <<endl;
}

2.容器vector

初始化

vector<int> a(10);//定义10个整形元素的向量(尖括号中int表示数据类型),没有给初值,其值不确定
vector<int> b(10,1);//定义10个整形元数的向量b,初值为1
vector<int> c(b);//深拷贝b创建c向量

常用api

  1. 删除元素
    删除最后一个元素pop_back
    vector<int> a={1,2,3};//创建vector向量
    a.pop_back();//删除最后一个元素,[1,2]

3.队列queue

初始化

queue<int> q1;//创建一个int类型队列
queue<char> q2;//创建一个char类型队列

常用api

API作用说明
push队尾插入一个元素
pop删除队列第一个元素
size返回队列元素个数
empty队列为空返回true
front返回队列第一个元素

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值