C++基础-vector数据结构(初始化,插入,删除, 数据交换, 分配内存, 二维数组 )
2021/6/28 7:21:55
本文主要是介绍C++基础-vector数据结构(初始化,插入,删除, 数据交换, 分配内存, 二维数组 ),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.vector的初始化 使用vector<int> myint{1, 2, 3, 4, 5}, 以及在vector中取数据, 使用.at或者[]
int main1() { vector<int> myint{1, 2, 3, 4, 5}; for(int i = 10; i < 20; i++) { myint.push_back(i); } // cout << myint.front() << endl; //存储数据 // cout << myint.back() << endl; // for(auto i:myint) // { // cout << i << endl; //} //myint.resize(5); //动态调整大小 // myint.resize(6, 90); //vector只有6个数据, 缓冲有90 // for(auto ib=myint.begin(), ie = myint.end(); ie != ib; ib++) // { // cout << *ib << endl; // } // for(auto rb=myint.rbegin(), re = myint.end(); re != rb; rb++) //{ // cout << *rb << endl; //} // for(int i = 0; i < myint.size();++i) // { // cout << myint[i] <<" " << myint.at(i) << endl; // } }
2.vector中插入数据, 使用myint.insert(it, 400) 根据位置插入数据, 以及插入数组
int main2() { //插入 vector<int> myintX{11, 12, 13, 14, 15}; vector<int> myint{1, 2, 3, 4, 5}; //myint.assign(7, 100); //重新初始化 auto it = myint.begin() + 3; int a[5] = {21, 22, 23, 24, 25}; // it = myint.insert(it, 400); //根据位置插入 // cout << *it << endl; // it = myint.insert(it, a, a+5); //插入一个数组 it = myint.insert(it, myintX.begin(), myintX.end()); //批量插入 for(auto i:myint) { cout << i << endl; } return 0; }
vector批量删除数据,使用.erase进行数据删除
int main3() { vector<int> myint{1, 2, 3, 4, 5}; auto it = myint.begin() + 3; //myint.erase(it); myint.erase(myint.begin(), myint.begin() + 3); //批量删除, 不包含最后的位置 for(auto i:myint) { cout << i << endl; } return 0; }
vector数据交换, 使用.swap进行数据交换
int main4() { vector<int> myint{1, 2, 3, 4, 5}; vector<int> myint2{3, 32, 33, 34, 35}; myint.swap(myint2); for (auto i:myint) { cout << i << endl; } for (auto i:myint2) { cout << i << endl; } }
vector获取分配器分配内存
int main7() { vector<int> myint1; int *p = myint1.get_allocator().allocate(5); //获取分配器分配内存 cout << myint1.size() << endl; for (int i = 0; i < 5; i++) { cout << (p[i] = i) << myint1[i] << endl; } myint1.get_allocator().deallocate(p, 5); //释放内存 cin.get(); //自动管理内存 }
vector构造二维数组, 使用vector<vector<int>>
int main() { vector<int> myint1{1, 2, 3, 4, 5}; vector<int> myint2{1, 2, 3, 4, 5, 6, 7}; vector<int> myint3{1, 2, 3}; vector<vector<int>>myallint{myint1, myint2, myint3}; //构造vector的二维数组 for(auto i:myallint) { for(auto j:i) { cout << j << " "; } cout << "\n"; } cin.get(); }
这篇关于C++基础-vector数据结构(初始化,插入,删除, 数据交换, 分配内存, 二维数组 )的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享