vector,map,set的区别

本文详细介绍了C++中的vector、map和set三种数据结构,包括它们的用途、操作方法(如初始化、插入、删除和长度获取)以及set的独特性质。同时涵盖了set的排序和去重特性,以及unordered_map的键值对存储方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vector,map,set的区别
vector表示数组,常用到的方法有
(1)初始化:vector a(10,0);
(2)插入:尾部:a.push_back(elem);
头部:a.insert(elem)/a.insert(a.begin(),b.begin(),b.begin()+5);
注意:a.begin()指代的是迭代器(vector::iterator),类似指针
(3)删除:a.pop_back()/a.erase(a.begin());
(4)长度:a.size();
set类似于数组,但是又在数组的基础上进行排序去重

int main()
{
	set<int> aa;
	aa.insert(1);
	aa.insert(0);
	aa.insert(5);
	aa.insert(3);
	aa.insert(4);
	for (set<int>::iterator tt = aa.begin(); tt != aa.end(); tt++)
	{
		cout << *tt;
	}
	cout << endl;
	return 0;
}  

不同的是,set的迭代器不能使用‘+’
unordered_map是键值对的形式
只要是存在的变量类型,都可以配对。

    unordered_map<char, int> vv;
	unordered_map<char, int>::iterator iter;
	
	cout << endl;string cc = "I love the world";
	for (char c:cc)
	{
		vv[c]++;
	}
	
	for (iter = vv.begin(); iter != vv.end(); iter++)
	{
	    cout << "[" << iter->first << "] = " << iter->second << endl;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值