/**
* @file vector_demo.cpp
* @author holylong (mrhlingchen@163.com)
* @brief 顺序容器 vector 操作
* @version 0.1
* @date 2022-07-09
*
* @copyright Copyright (c) 2022
*
*/
#include <iostream>
#include <vector>
namespace halgo{
template <typename _tp>
void display(const std::vector<_tp> vec){
for(auto a : vec){
std::cout << a << " ";
}
std::cout << std::endl;
}
}
int main(int argc, char* argv[])
{
/* 初始化一个vector */
std::vector vec{1,2,3,5,6,7,8,9,0};
halgo::display<int>(vec);
std::vector vec1{19,10,100};
/* 清空vec并插入vec1 */
vec.assign(vec1.begin(), vec1.end());
halgo::display<int>(vec);
/* 赋值vec 10个0 */
vec.assign(10, 0);
halgo::display<int>(vec);
/* 在vec尾部插入三个数 */
vec.insert(std::end(vec), { 8, 16, 32 });
halgo::display<int>(vec);
/* 以构造形式插入1个数,push_back是临时创建的局部变量插入,emplace是调用构造函数重新创建的变量 具体查看C++ primer */
vec.emplace_back(10);
halgo::display<int>(vec);
/* 删除最后的对象 */
vec.pop_back();
halgo::display<int>(vec);
/* 取出第一个值 */
int a = vec.front();
std::cout << "a:" << a << std::endl;
halgo::display<int>(vec);
/* 使用迭代器遍历 */
for(std::vector<int>::iterator iter = vec.begin(); iter != vec.end(); iter++){
std::cout << " " << *iter;
}
std::cout << std::endl;
/* 遍历删除某个元素 */
for(std::vector<int>::iterator iter = vec.begin(); iter != vec.end(); iter++){
if(*iter == 16)
iter = vec.erase(iter);
}
halgo::display<int>(vec);
}
顺序容器vector使用
于 2022-07-09 14:09:08 首次发布