STL-vector
// xuanze-sort.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<string>
#include<vector>//vector向量容器
using namespace std;
/******************************************************************/
/*vector 容器:*/
int main(int argc, char* argv[])
{
/************************************** 1 ***************************************************/
/*1、创建vector容器:可以事先定义一个固定的大小,事后可以随时调整其大小;也可以事先不定义,
随时可以用push_back方法从尾部扩张元素,或者使用insert在某个位置插入元素*/
//1.1、不指定容器的元素个数
vector<int> v;
//1.2、创建的时候指定容器的大小
vector<int> v1(10);
//1.3、创建一个具有n个元素的vector,并且为其指定初始值
vector<int> v2(10,0);
/*************************************** 2 **************************************************/
/* 2、尾部元素扩张 push_back*/
v.push_back(1);
v.push_back(2);
v.push_back(21);
v.push_back(22);
v.push_back(23);
v.push_back(24);
v.push_back(25);
v.push_back(26);
v.push_back(27);
/****************************************** 3 ***********************************************/
/*3、元素的插入insert*/
//3.1、在最前面插入元素
v.insert(v.begin(),8);
//3.2、在第i个元素前插入元素
v.insert(v.begin()+1,9);
//3.3、在尾端插入元素
v.insert(v.end(),0);
/****************************************** 4 ***********************************************/
/*4、访问vector元素*/
//4.1、下标方式访问
cout<<v[0]<<endl;
v[0]=3;//下标访问并修改其值
cout<<v[0]<<endl;
//4.2迭代器访问
vector<int>::iterator it;
for(it=v.begin();it!=v.end();it++)
cout<<*it<<endl;
cout<<"迭代器访问结束"<<endl;
/****************************************** 5 ***********************************************/
/*5、元素的个数*/
//5.1、使用size()返回向量的大小,即元素的个数
cout<<v.size()<<endl;
//5.2、使用empty查看是否为空,空返回1,否则返回0
cout<<v.empty()<<endl;
/******************************************* 6 **********************************************/
/*4、元素的删除*/
//4.1使用erase()可以删除vector中迭代器所指的一个元素或一段区间中的元素
v.erase(v.begin()+2);//删除两个元素,从0开始计算
v.erase(v.begin()+1,v.begin()+3);//删除第1个元素和第三个元素之间的数据
//4.2、删除所有元素
v.clear();
return 0;
}
//ABD##E##CF##G##