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;
}