C++STL模板库——vector容器(上)

本期介绍基础的vector知识,内容全部在主程序之中,大家自行阅读。

#include 
#include 
#include 
//使用vector之前必须声明其头文件  
using namespace std;

struct student{
	int age;
	string name;
	float score;
};

int main(int argc, char** argv) 
{
	vector V1;
	//声明一个整数类型的vector——V1
	cout<<"请输入V1的长度:"<>n1;
	for(int i=1;i<=n1;i++)
	{
		int temp1=0;
		cin>>temp1;
		//vector支持不定长放入元素 
		V1.push_back(temp1); 
		//push_back方法可以将元素存入vector容器之中	
	} 
	
	for(int i=1;i<=5;i++)
	{
		V1.pop_back();
		//pop_back方法用于弹出vector中的元素,经过本轮循环,vector中相当于有n-5个元素 
		//注意:后加入的数据先被弹出!!! 
	}
	
	cout<<"此时的vector包含的元素有:"<::iterator it=V1.begin();it!=V1.end();it++)
	//迭代器是STL的一大组成部分,此处使用的是前向迭代器,支持自加操作。 
	//每个容器都有自己独有的迭代器 
	{
		cout<<(*it)<<" ";
		//迭代器类似指针,如果想得到指向元素的值,需要进行解引用的操作
			
	} 
	cout< V2;
	//vector同样支持自定义的类型 
	student s1={21,"jsl",408};
	V2.push_back(s1);
	student s2={20,"lp",430};
	V2.push_back(s2);
	student s3={19,"zsf",230};
	V2.push_back(s3);
	
	//此处展示通过结构体的某一属性,来对结构体变量进行排序,实用性很高! 
	for(int a=0;a<=V2.size()-1;a++)
	{
		for(int b=a+1;b<=V2.size()-1;b++)
		{
			if(V2[a].age>V2[b].age)
			{
				student temp2=V2[a];
				V2[a]=V2[b];
				V2[b]=temp2;
				//此处实现的是:年龄的升序 
			}
		}
	}
	//仔细看,上面上其实就是普通的冒泡排序。 
	cout<<"年龄从小到大是:"<

你可能感兴趣的:(C++语法基础及经典案例,c++,算法,蓝桥杯)