c++中容器的相关总结

1、容器指针

#include<algorithm>

std::vector<T>::iterator

rbegin()指向最后一个元素,end()指向最后一个元素的下一个。

rend()和begin()都指向第一个元素,是相等的。

2、queue先进先出

#include<queue>

往队列插入元素push或者emplace  (尾巴),读取尾巴数据back()

移除最先插入的数据 pop(),读取头部数据front();

3、deque与vector的区别

deque不能从中间插入或删除元素,只能从首尾插入,其他与vector一样

push_back(), push_front()

pop_back()  //移除最后一个元素

4. unordered_map

数据结构是红黑树,一种近似于平衡的二叉查找树,里面的数据是有序的。

 

#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;

int main()
{
        //定义并且初始化
	std::unordered_map<std::string, std::string> u = {{ "RED", "#FF0000" },                            
			                                  { "GREEN", "#00FF00"},
			                                  { "BLUE", "#0000FF" }};
	//遍历每一个元素
        for(auto it : u)
	{
		cout<<it.first<<"   "<<it.second<<endl;
	}
        //打印元素个数
	if(!u.empty())
	        cout<<"size = "<<u.size()<<endl;
        //添加新的元素
	u["BLACK"] = "#000000";//这样添加的元素在最前面 begin()
    	u["WHITE"] = "#FFFFFF";//这样添加的元素在最前面 begin()
	//指针方式遍历元素
	for(auto it = u.begin();it != u.end();it++)
	{
		cout<<it->first<<"         "<<it->second<<endl;
	}
        //两种访问元素的方法
    	std::cout << "The HEX of color RED is:[" << u["RED"] << "]\n";
	std::cout << "The HEX of color BLACK is:[" << u["BLACK"] << "]\n";
	std::cout << "The HEX of color RED is:[" << u.at("RED") << "]\n";
    	std::cout << "The HEX of color BLACK is:[" << u.at("BLACK") << "]\n";
	
	//三种删除元素的方法
	u.erase(u.begin());         // erasing by iterator
	u.erase("BLACK");             // erasing by key
	//u.erase(u.find("BLUE"), u.end()); // erasing by range
	for(auto it = u.begin();it != u.end();it++)
	{
		cout<<it->first<<"         "<<it->second<<endl;
	}
        return 0;
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值