算法必学STL部分

1.容器

<顺序容器>

array       vector    deque     list

<关联容器>

set    map     multiset    multimap

<无序关联容器>

unordered_set     unordered_map     unordered_multiset     unordered_multimap

<容器适配器>

stack    queue     priority_queue 

<字符串>

string

<对与元组>

pair    tuple

2.1vector

//vector
	 
	//构造长度为100的vector数组
	vector<int> vec(100);
	//构造长度为100的vector数组初试值为1
	vector<int> vec(100,1)
	
	//构造100行不定列的二维数组
	vector<vector<int>> mat(100,vector<int>()) ;
	//构造100行666列初始值为1的二维数组
	vector<vector<int>> mat(100,vector<int>(666,1));
	
	//尾接,尾删
	vector<int> vec;
	vec.push_back(1);
	vec.push_back(2);
	vec.push_back(3);
	
	vec.pop_back(3);
	vec.pop_back(2);
	
	//长度
	cout << vec.size()  << endl;
	
	//清空,判空
	bool flag = vec.empty();
	vec.clear();
	
	//修改长度 
	vec.resize(5);
	
	//注意
	//如果题目已经指定长度则初始时应提前指定长度,可以提高效率

2.2stack

//声明一个栈
	stack<int> stk;
	//进栈,出栈
	stk.pop();
	stk.push();
	//取栈顶元素
	int a = stk.top(); 
	//判空,大小
	bool flag = stk.empty();
	int n = stk.size();

2.3queue

queue<int> que;
	//进队列,出队列
	que.push();
	que.pop();
	//队首,队尾
	int a = que.front();
	int b = que.back();
	
	//优先队列prior_queue
	//适用情况:每次向队列插入大小不定的元素或每次取出最大或最小的元素 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值