STL---vector

简介: 1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 typedef vector<int> INTVECTOR;//自定义类型INTVECTOR 5 //测试vector容器的功能 6 int main() 7 { 8 //vec1对象初始为空
 1 #include <iostream>
 2 #include <vector>
 3 using namespace std;
 4 typedef vector<int> INTVECTOR;//自定义类型INTVECTOR
 5 //测试vector容器的功能
 6 int main()
 7 {
 8 //vec1对象初始为空
 9 INTVECTOR vec1;
10 //vec2对象最初有10个值为6的元素
11 INTVECTOR vec2(10,6);
12 //vec3对象最初有3个值为6的元素,拷贝构造
13 INTVECTOR vec3(vec2.begin(),vec2.begin()+3);
14 //声明一个名为i的双向迭代器
15 INTVECTOR::iterator i;
16 //从前向后显示vec1中的数据
17 cout<<"vec1.begin()--vec1.end():"<<endl;
18 for (i =vec1.begin(); i !=vec1.end(); ++i)
19 cout << *i << " ";
20 cout << endl;
21 //从前向后显示vec2中的数据
22 cout<<"vec2.begin()--vec2.end():"<<endl;
23 for (i =vec2.begin(); i !=vec2.end(); ++i)
24 cout << *i << " ";
25 cout << endl;
26 cout<<"vec2.begin()--vec2.end():"<<endl;
27 
28 //从前向后显示vec3中的数据
29 cout<<"vec3.begin()--vec3.end():"<<endl;
30 for (i =vec3.begin(); i !=vec3.end(); ++i)
31 cout << *i << " ";
32 cout << endl;
33 //测试添加和插入成员函数,vector不支持从前插入
34 vec1.push_back(2);//从后面添加一个成员
35 vec1.push_back(4);
36 vec1.insert(vec1.begin()+1,5);//在vec1第一个的位置上插入成员5
37 //从vec1第一的位置开始插入vec3的所有成员
38 vec1.insert(vec1.begin()+1,vec3.begin(),vec3.end());
39 cout<<"after push() and insert() now the vec1 is:" <<endl;
40 for (i =vec1.begin(); i !=vec1.end(); ++i)
41 cout << *i << " ";
42 cout << endl;
43 cout<<"reverse vec1:"<<endl;
44 INTVECTOR::reverse_iterator it;
45 for (it=vec1.rbegin(); it!=vec1.rend(); ++it)
46 cout << *it << " ";
47 cout << endl;
48 //测试赋值成员函数
49 vec2.assign(8,1); // 重新给vec2赋值,8个成员的初始值都为1
50 cout<<"vec2.assign(8,1):" <<endl;
51 for (i =vec2.begin(); i !=vec2.end(); ++i)
52 cout << *i << " ";
53 cout << endl;
54 //测试引用类函数
55 cout<<"vec1.front()="<<vec1.front()<<endl;//vec1第零个成员
56 cout<<"vec1.back()="<<vec1.back()<<endl;//vec1的最后一个成员
57 cout<<"vec1.at(4)="<<vec1.at(4)<<endl; //vec1的第五个数,即数组下标为4的元素
58 cout<<"vec1[4]="<<vec1[4]<<endl;//同上。59 //测试移出和删除
60 vec1.pop_back();//将最后一个成员移出vec1
61 vec1.erase(vec1.begin()+1,vec1.end()-2);//删除成员
62 cout<<"vec1.pop_back() and vec1.erase():" <<endl;
63 for (i =vec1.begin(); i !=vec1.end(); ++i)
64 cout << *i << " ";
65 cout << endl;
66 //显示序列的状态信息
67 cout<<"vec1.size(): "<<vec1.size()<<endl;//打印成员个数
68 cout<<"vec1.empty(): "<<vec1.empty()<<endl;
69 vec1.clear();
70 cout<<vec1.empty();
71 cout<<vec1.size();
72 }

 

目录
相关文章
|
存储 编译器 C++
【C++】STL---vector
【C++】STL---vector
57 0
|
2月前
|
存储 编译器 C语言
【c++丨STL】vector的使用
本文介绍了C++ STL中的`vector`容器,包括其基本概念、主要接口及其使用方法。`vector`是一种动态数组,能够根据需要自动调整大小,提供了丰富的操作接口,如增删查改等。文章详细解释了`vector`的构造函数、赋值运算符、容量接口、迭代器接口、元素访问接口以及一些常用的增删操作函数。最后,还展示了如何使用`vector`创建字符串数组,体现了`vector`在实际编程中的灵活性和实用性。
97 4
|
8月前
|
存储 C++ 索引
C++:STL - vector
C++:STL - vector
91 1
|
8月前
|
算法 Java 容器
STL_vector
STL_vector
53 0
|
存储 C++ 容器
STL ----vector
vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。就时间而言,这是一个相对代价高的任务,因为每当一个新的元素加入到容器的时候,vector并不会每次都重新分配大小。
|
存储 Linux C++
C++【STL】之vector的使用
C++ STL vector类常用接口详细讲解,干货满满!
131 0
C++【STL】之vector的使用
|
C++ 容器
【C++ STL】 --- vector
【C++ STL】 --- vector
68 0
|
存储 算法 Linux
【C++初阶】七、STL---vector介绍及使用
目录 一、vector的介绍 二、vector的使用 2.1 Construct 2.2 operator= 2.3 Iterators 2.4 Capacity 2.5 Element access 2.6 Modifiers
161 0
【C++初阶】七、STL---vector介绍及使用
|
算法 C++ 容器
STL之vector
STL之vector
|
Linux 编译器 C++
【C++】-- STL之vector详解(二)
【C++】-- STL之vector详解
161 0
【C++】-- STL之vector详解(二)