STL《1》STL简介及vector容器的使用
2014-09-24 15:33
381 查看
C++STL(Standard Template Library 标准模板库)是通用类模板和算法的集合,它提供给程序员一些标准的的数据结构的实现,如:queues(队列)、lists(链表)、stacks(栈)等
STL由六大组件组成
容器(Container)
算法(Algorithm)
迭代器(Iterator)
仿函数(Function object)
适配器(Adaptor)
空间配制器(allocator)
C++ Vector(向量容器)
Vector是一个线性顺序结构。相当于数组,但其大小可以不预先指定,并且自动扩展。它可以像数组一样被操作,由于它特性我们完全可以将vector 看作动态数组。
应用实例:定义一个Vector并且对其赋值,然后打印值
执行结果
扩展容器的大小
执行结果:
使用vector处理教师信息
执行结果
C++STL(Standard Template Library 标准模板库)是通用类模板和算法的集合,它提供给程序员一些标准的的数据结构的实现,如:queues(队列)、lists(链表)、stacks(栈)等
STL由六大组件组成
容器(Container)
算法(Algorithm)
迭代器(Iterator)
仿函数(Function object)
适配器(Adaptor)
空间配制器(allocator)
C++ Vector(向量容器)
Vector是一个线性顺序结构。相当于数组,但其大小可以不预先指定,并且自动扩展。它可以像数组一样被操作,由于它特性我们完全可以将vector 看作动态数组。
应用实例:定义一个Vector并且对其赋值,然后打印值
<span style="color:#000000;">#include <iostream> #include <vector> using namespace std; void main() { //定义一个向量容器v1 vector<int> v1(5); //对向量容器复制 for(int i=0; i<5; i++) { v1[i] = i + 1; } //定义向量容器v2 vector<int> v2(5); v2 = v1;//将向量容器v1的值赋值给v2 //输出向量容器的值 for(int i=0; i<5; i++) { cout<<v2[i]<<endl; } system("pause"); }</span>
执行结果
扩展容器的大小
<span style="color:#000000;">#include <iostream> #include <vector> using namespace std; void main() { //定义一个向量容器v1 vector<int> v3(0); //扩展v3的大小,并且赋值 v3.push_back(3); v3.push_back(4); v3.push_back(5); //得到v3的大小 int len = v3.size(); //输出v3的值 for(int i=0; i<len; i++) { cout<<v3[i]<<endl; } system("pause"); }</span>
执行结果:
使用vector处理教师信息
<span style="color:#000000;">#include <iostream> #include <string> #include <vector> using namespace std; //定义一个Teacher结构体 struct Teacher { string Name; int Age; }; void main() { //定义4个Teacher对象 struct Teacher t1, t2, t3; //给Teacher对象赋值 t1.Name = "Tom"; t1.Age = 25; t2.Name = "Mike"; t2.Age = 32; t3.Name = "Lisa"; t3.Age = 24; //定义一个存放Teacher结构的容器v3 vector<Teacher*> v3(0); //扩展v3的大小,并且赋值 v3.push_back(&t1); v3.push_back(&t2); v3.push_back(&t3); //得到v3的大小 int len = v3.size(); //输出老师的信息 for(int i=0; i<len; i++) { struct Teacher *temp = v3[i]; cout<<temp->Name<<"\t"<<temp->Age<<endl; } system("pause"); }</span>
执行结果
相关文章推荐
- STL学习笔记之 (五)容器 vector deque list 使用条件
- C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
- stl容器区别(内存布局和使用场合): vector list deque set map
- stl容器vector存储类对象及其使用方式
- C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
- STL基础5:vector容器的使用总结
- STL中的容器使用比较(string vector list deque set map)
- STL容器vector使用
- 【STL】滤波算法:使用vector容器
- C++ STL入门教程(1) vector向量容器使用方法
- C++中防止STL中迭代器失效__map/set等关联容器vector/list/deque等序列容器_如何防止迭代器失效_即erase()的使用
- 使用STL中的容器vector,求N以内的…
- C++中防止STL中迭代器失效__map/set等关联容器vector/list/deque等序列容器_如何防止迭代器失效_即erase()的使用
- STL之vector使用简介
- vector容器类的使用[c++ stl]
- STL常用容器简介 vector deque list map set
- STL中Vector容器Find的使用(int查找)
- C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
- 熟悉STL顺序容器的使用之vector
- STL容器 list、vector、map、set 使用的陷阱