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>
执行结果
时间: 2024-11-25 02:46:12