vector实际上是一种顺序表容器,下面介绍一下vector的基本 *** 作:
头文件:
#include
//使用vector需包含的头文件
构造函数:
vector
v1(); //无参拷贝函数调用,数据类型为int型
vectorv2(10, 1); //调用有参拷贝函数创建一个有10个数据为1的顺序表,数据类 型为int
vectorv3(v2); //调用拷贝构造函数,将v2拷贝给v3
遍历:
int main()
{
vectorv1;
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
v1.push_back(4);
v1.push_back(5);
for (int i = 0; i < v1.size(); i++)
{
cout << v1[i] << " ";
} //利用vector的size进行遍历
cout << endl;vector
::iterator it = v1.begin(); //使用迭代器遍历,作用和指针类似
while (it != v1.end())
{
cout << *it << " ";
it++;
}
}
查找,插入,删除:
#include //下面使用查找函数for时需要包含的算法头函数
int main()
{
vectorv1;
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
v1.push_back(4);
v1.push_back(5);vector
::iterator pos = find(v1.begin(), v1.end(), 3); //查找3的位置给pos
if (pos != v1.end())
{
v1.insert(pos, 30); //在pos前一个位置插入30
}if (pos != v1.end())
{
v1.erase(pos); //删除pos位置的值
}
for (auto e : v1)
{
cout << e << " "; //auto循环
}}
排序:
int main()
{
vectorv1;
v1.push_back(10);
v1.push_back(2);
v1.push_back(1);
v1.push_back(4);
v1.push_back(3);
for (auto e : v1)
{
cout << e << " "; //auto循环
}
cout << endl;sort(v1.begin(), v1.end()); //排序
for (auto e : v1)
{
cout << e << " "; //auto循环
}
cout << endl;less
ls;
sort(v1.begin(), v1.end(), ls); //升序排序
for (auto e : v1)
{
cout << e << " "; //auto循环
}
cout << endl;greater
gt; //需要包含头文件
sort(v1.begin(), v1.end(), gt); //降序排序
for (auto e : v1)
{
cout << e << " "; //auto循环
}
cout << endl;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)