c++数据结构中的:循序表Vector
线性表:分为顺序表和链表
STL(Standard Template Library:标准模板库):
1:Vector:循序表:(内存连续,可以通过下标访问)可以变大小的动态数组
2 List:链表:**(内存不连续,不可以通过下标访问)
3:Vector:添加元素
#include <vector>
vector<int > vi;
for (int i = 1; i <= 10; i++)
{
vi.push_back(i);
}
4:删除方法–删除第一个元素和最后一个元素
//删除第一个元素
vi.erase(vi.begin());//参数:迭代器
//删除最后一个元素
vi.pop_back();
5:至少三种方法遍历vector
//1
for (int i = 0; i < vi.size(); i++)
{
cout << vi[i] << endl;
}
//2
vector<int>::iterator it;
for (it = vi.begin(); it != vi.end(); it++)
cout << *it << endl;
//3
for (int i = 0; i < vi.size(); i++)
{
cout << vi.at(i) << endl;
}
//4
for (int val : vi)
{
cout << val << endl;
}
6:删除所有的偶数
it = vi.begin();
while (it!=vi.end())
{
if ((*it) % 2 == 0)
{
it = vi.erase(it);//返回指向下一个元素的迭代器
}
else
{
++it;
}
}
7:Hero类,定义,添加,删除元素
//定义存储Hero*类型的vector
vector<Hero*> herovi;
//添加五个元素,分别指向堆区不同的英雄内存,血量随机0~100
for (int i = 1; i <= 5; i++