vector
1 生成构造
#include <iostream>
#include <vector>
int main ()
{
std::
vector<int> first;
std::
vector<int> second (
4,
100);
std::
vector<int> third (second.begin(),second.end());
std::
vector<int> fourth (third);
int myints[] = {
16,
2,
77,
29};
std::
vector<int> fifth (myints, myints +
sizeof(myints) /
sizeof(
int) );
std::
cout <<
"The contents of fifth are:";
for (
std::
vector<int>::iterator it = fifth.begin(); it != fifth.end(); ++it)
std::
cout <<
' ' << *it;
std::
cout <<
'\n';
return 0;
}
std::
vector<int> foo (
3,
0);
std::
vector<int> bar (
5,
0);
bar = foo;
foo =
std::
vector<int>();
std::
cout <<
"Size of foo: " <<
int(foo.size()) <<
'\n';
std::
cout <<
"Size of bar: " <<
int(bar.size()) <<
'\n';
2 操作
2.1 大小和容量
#include <iostream>
#include <vector>
int main ()
{
std::
vector<int> myvector;
for (
int i=
1; i<=
5; i++) myvector.push_back(i);
std::
cout<<myvector.size();
myvector.resize(
9);
std::
cout<<myvector.empty();
myvector.reserve(
100);
std::
cout<<myvector.capacity();
myvector.shrink_to_fit();
return 0;
}
2.2 比较
2.3 find
2.4 截取部分
2.5 增,插,删,改
#include <iostream>
#include <vector>
int main ()
{
std::
vector<int> myvector;
for (
int i=
1; i<=
5; i++) myvector.push_back(i);
myvector.assign(
3,
100);
myvector.push_back(
1);
myvector.pop_back();
myvector.insert(myvector.begin()+
2,
200);
int ints[]={
1,
1,
1};
myvector.insert(iti,ints,ints+
3);
myvector.erase(myvector.begin()+
2);
myvector.erase(myvector.begin()+
2,myvector.begin()+
5);
myvector.clear();
return 0;
}
2.6迭代器
int main ()
{
std::
vector<int> myvector;
for (
int i=
1; i<=
5; i++) myvector.push_back(i);
std::
cout <<
"myvector contains:";
for (
std::
vector<int>::iterator it = myvector.begin() ; it != myvector.end(); ++it)
std::
cout <<
' ' << *it;
std::
cout <<
'\n';
return 0;
}
#include <iostream>
#include <vector>
int main ()
{
std::
vector<int> myvector;
for (
int i=
1; i<=
5; i++) myvector.push_back(i);
std::
cout <<
"myvector contains:";
for (
std::
vector<int>::reverse_iterator rit = myvector.rbegin() ; rit != myvector.rend(); ++rit)
std::
cout <<
' ' << *rit;
std::
cout <<
'\n';
return 0;
}
#include <iostream>
#include <vector>
int main ()
{
std::
vector<int> myvector;
for (
int i=
1; i<=
5; i++) myvector.push_back(i);
std::
cout <<
"myvector contains:";
for (
auto cit = myvector.cbegin() ; cit != myvector.cend(); ++cit)
std::
cout <<
' ' << *cit;
std::
cout <<
'\n';
return 0;
}
2.7取值和位置
#include <iostream>
#include <vector>
int main ()
{
std::
vector<int> myvector;
for (
int i=
1; i<=
5; i++) myvector.push_back(i);
int intger1=myvector[
2];
std::
cout<<myvector.at(
2);
std::
cout<<myvector.back();
std::
cout<<myvector.front();
int *p=myvector.data();
*p=
10;p[
2]=
30;
return 0;
}
2.8其他swap
#include <iostream>
#include <vector>
main ()
{
unsigned int i;
std::
vector<int> foo (
3,
100);
std::
vector<int> bar (
5,
200);
foo.swap(bar);
return 0;
}