✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿
🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟
🌟🌟 追风赶月莫停留 🌟🌟
🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀
🌟🌟 平芜尽处是春山🌟🌟
🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟🌟
🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
🍋vector类
🍑vector介绍
-
vector是表示可变大小数组的序列容器,和我们在C语言中学习的顺序表相类似
-
vector的存储形式和数组一样,采用连续的空间存储,vector也可以用下标进行访问,但有一点和数组不同,vector空间满了,它的大小是变化的,空间满了,容器会自动扩容。
-
每当一个新的元素加入时,为了增加存储空间,vector并不会重新分配空间,而是会重新开辟一个新的vector容器,然后全部数据存储到新的vector。
-
vector相较于其它容器,它访问元素效率更高,末尾添加和删除元素相对高效。对于其它不在末尾的删除和插入操作,效率更低。
vector容器和容器string的功能相类似,增删查改都差不多,不过唯一需要注意的是使用vector容器是需要带类型,而string 不需要带类型。
🍑vector迭代器
迭代器我们掌握前面四种就可以了。
begin()和end()是正向迭代器iterator, rbegin()和rend()是反向迭代器reverse_iterator.
这幅图简单的说明了迭代器的基本使用。
用遍历来演示迭代器的用法:
vector<int> vv;
vv.push_back(1);
vv.push_back(2);
vv.push_back(3);
vv.push_back(4);
vv.push_back(5);
vector<int>::iterator it = vv.begin();
while (it != vv.end())
{
cout << *it << " ";
it++;
}
🍑vector构造
🍍无参构造
vector<int> vv;
vector<char> cc;
vector<long long> aa;
vector<string> bb;
......
上面就是几种常见的无参构造,当然不仅仅只有这些。
vector类带的类型也可以是容器。
🍍有参构造
vector<int> vv(2,100);
vector<char> cc(2,'a');
vector<