1.vector操作
#include #include using namespace std;//数组元素的 添加和删除void vector_push_back_front(){ vector v1; cout << "length:" << v1.size() < 0) { cout <<"尾部元素" << v1.back() ; //获取尾部元素 v1.pop_back(); //删除尾部元素 }}//vector的初始化void vector_init(){ vector v1; v1.push_back(1); v1.push_back(3); v1.push_back(5); v1.push_back(7); vector v2 = v1; //对象初始化 vector v3(v1.begin(), v1.begin()+2 );}void printV(vector &v){ for (int i=0; i
v1(10); //提前把内存准备好 for (int i=0; i<10; i++) { v1[i] = i + 1; } printV(v1);}//push_back的强化记忆void vector_size_push_back() { vector
v1(10); //提前把内存准备好 v1.push_back(100); v1.push_back(200); cout << "size: " << v1.size() << endl; printV(v1);}//1迭代器 end()的理解 // 1 3 5// ▲ // ▲//当 it == v1.end()的时候 说明这个容器已经遍历完毕了...//end()的位置 应该是 5的后面//2 迭代器的种类/*typedef iterator pointer;typedef const_iterator const_pointer;typedef _STD reverse_iterator
reverse_iterator;typedef _STD reverse_iterator const_reverse_iterator;*/void vector_iterator(){ vector v1(10); for (int i=0; i<10; i++) { v1[i] = i + 1; } //正向遍历 for (vector ::iterator it = v1.begin(); it != v1.end(); it ++ ) { cout << *it << " "; } //逆序遍历 for (vector ::reverse_iterator rit = v1.rbegin(); rit!=v1.rend(); rit++ ) { cout << *rit << " "; }}//vector 删除void vector_erase(){ vector v1(10); for (int i=0; i<10; i++) { v1[i] = i + 1; } //区间删除 v1.erase(v1.begin(), v1.begin()+3); printV(v1); //根据元素的位置 指定位置删除 v1.erase(v1.begin()); //在头部删除一个元素 printV(v1); cout << endl; //根据元素的值 v1[1] = 2; v1[3] = 2; printV(v1); //删除后 指针变 for (vector ::iterator it =v1.begin(); it != v1.end();) { if (*it == 2) { it = v1.erase(it); //当 删除迭代器所指向的元素的时候,erase删除函数会让it自动下移动 } else { it ++; } } printV(v1); cout << endl; v1.insert(v1.begin(), 100); v1.insert(v1.end(), 200); printV(v1);}int main(){ vector_push_back_front(); vector_init(); vector_show(); vector_size_push_back(); vector_iterator(); vector_erase(); return 0;}