vector容器及迭代器遍历

#include <iostream>
#include <iomanip>
#include <string.h>
#include <cmath>
#include <algorithm>//算法头文件
#include <fstream>
#include <cstdlib>
#include <vector>
using namespace std;

//定义sort排序规则 降序
bool compare(int a, int b){
	return a>b;
}

int main(){
	
	vector<int> v1;
//	vector<int> v1(6); 先声明6个空间,后面再添加就是00000068...
//	vector<int> v1(6,10); 前面6个全是10 
	v1.push_back(6);
	v1.push_back(8);
	v1.push_back(10);
	v1.push_back(2);
	v1.push_back(3); //底层是栈,入栈
	
//	v1.pop_back();//出栈 
	
	cout<<"--------------传统for遍历--------------------\n";
	for(int i=0; i<v1.size(); i++){
		cout<<v1.at(i)<<" ";
//		cout<<v1[i]; 也可以
	}
	
	//迭代器
	cout<<"\n--------------迭代器遍历--------------------\n";
	vector<int>::iterator iter;
	iter = v1.begin();
	while( iter != v1.end() ){
		cout<<*iter<<" ";
		iter++;
	} 
	cout<<"\n--------------反向迭代器遍历--------------------\n";
	vector<int>::reverse_iterator riter;
	riter = v1.rbegin();
	while(riter != v1.rend()){
		cout<<*riter<<" ";
		riter++;
	}
	cout<<"\n--------------自己写迭代器反向遍历--------------------\n";
	vector<int>::iterator iter1;
	iter1 = v1.end()-1;
	while( iter1 != v1.begin()-1 ){
		cout<<*iter1<<" ";
		iter1--;
	} 
	cout<<"\n--------------sort排序--------------------\n";
	sort(v1.begin(), v1.end());
	for(int i=0; i<v1.size(); i++){
		cout<<v1.at(i)<<" ";
	}
	cout<<"\n--------------sort排序 降序--------------------\n";	
	sort(v1.begin(), v1.end(), compare);
	for(int i=0; i<v1.size(); i++){
		cout<<v1.at(i)<<" ";
	}
		
	return 0;
}

//	v1.front();//取首元素 
//	v1.back();//取尾元素
//	v1.clear();//清除所有元素 
//cout<<"\n容器长度为:"<<v1.size()<<endl;

在这里插入图片描述