书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!

vector中的各种函数演示

1.初始化演示

2.push_back()演示

3.insert()演示

4.pop_back()演示

5.erase()演示

6.size()演示

7.empty()演示

8.assign()演示

复制代码
#include<iostream>
#include<vector>
using namespace std;

typedef vector<int> vint;
int main()
{
cout<<"初始化对象:"<<endl;
vint vec1; ///vec1对象初始为空
vint vec2(10, 6); ///vec2对象最初有10个值为6的元素
vint vec3(vec2.begin(), vec2.begin()+3);
///vec3对象最初有3个值为6的元素,拷贝构造

vint::iterator i; ///声明一个名为i的双向迭代器
cout<<"vec1.begin() --> vec1.end():"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;
cout<<"vec2.begin() --> vec2.end():"<<endl;
for(i=vec2.begin(); i!=vec2.end(); ++i)
cout<<*i<<"";
cout<<endl;
cout<<"vec3.begin() --> vec3.end():"<<endl;
for(i=vec3.begin(); i!=vec3.end(); ++i)
cout<<*i<<"";
cout<<endl;

///测试添加和插入成员函数,vector不支持从前插入///
cout<<"测试添加和插入成员函数,vector不支持从前插入:"<<endl;
vec1.push_back(2); ///从后面添加一个成员
vec1.push_back(4);
cout<<"After push_back() now the vec1 is:"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;

vec1.insert(vec1.begin()+1, 5); ///在vec1第一个的位置上插入成员5
cout<<"After push_back() and insert() now the vec1 is:"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;

vec1.insert(vec1.begin()+1, vec3.begin(), vec3.end());
///从vec1第一的位置开始插入vec3的所有成员
cout<<"After push_back() and insert() now the vec1 is:"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;
cout<<"vec1.front()="<<vec1.front()<<endl; ///vec1第零个成员
cout<<"vec1.back()="<<vec1.back()<<endl; ///vec1的最后一个成员
cout<<"vec1.at(4)="<<vec1.at(4)<<endl; ///vec1的第五个成员
cout<<"vec1[4]="<<vec1[4]<<endl;

///测试移出和删除///
vec1.pop_back(); ///将最后一个成员移出vec1
cout<<"After pop_back() now vec1 is:"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;

vec1.erase(vec1.begin()+1, vec1.end()-2); ///删除成员
cout<<"After vec1.pop_back() and vec1.erase():"<<endl;
for(i=vec1.begin(); i!=vec1.end(); ++i)
cout<<*i<<"";
cout<<endl;

///显示序列的状态信息///
cout<<"vec1.size()="<<vec1.size()<<endl; ///打印成员个数
cout<<"vec1.empty()="<<vec1.empty()<<endl; ///清空

///测试赋值成员函数///
vec2.assign(8,1); /// 重新给vec2赋值,8个成员的初始值都为1
cout<<"vec2.assign(8,1):"<<endl;
for(i=vec2.begin(); i!=vec2.end(); ++i)
cout<<*i<<"";
cout<<endl;


}
复制代码

 

 

 



posted on   More study needed.  阅读(249)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
< 2011年11月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10

导航

统计

书山有径勤为路>>>>>>>>

<<<<<<<<学海无涯苦作舟!

点击右上角即可分享
微信分享提示