#include
#include
#include
#include
#include
#include
using namespace std;
// vector,动态数组,自动分配空间, array,固定数组;
void STLDefine()
{
struct STU
{
int age;
} ;
vector<string> vec; //相当于字符串数组 char;
}
void STLConstructor()
{
vector vec;
//cout << vec[0]; //不能输出
vector<int> vec1(5);
vector<int> vec2(5,12); // char ,'a'
vector<int> vec3(vec1);
for (int i=0; i<5; i++)
{
cout << vec3[i] <<endl; // 5个0
}
///===========================
vector<int>::iterator ite = vec2.begin();
vector<int>::iterator ite1 = vec2.end();
vector<int> vec4(ite, ite1);
for (int i=0; i < 5; i++)
{
cout << vec4[i] <<endl;
}
}
//
void STLCapacity()
{
vector <int> vec(4);
cout << vec.empty();
// vec.resize(3); 容量不变
// vec.reserve(10); //10
cout << vec.size() << endl; //4
cout << vec.capacity() <<endl;//4
// vector vec1(5);
// cout << vec1.capacity() <<endl; //5
// vec1.push_back(1); //5+5/2==7
// cout << vec1.capacity() << endl;
// vec1.push_back(1);
// vec1.push_back(1); //7+7/2==10
// cout << vec1.capacity() << endl;
}
//输出
void fun(int i)
{
cout << i << endl;
}
void STLDO()
{
vector vec;
for (int i=0;i<10;i++)
{
vec.push_back(i); //返回尾巴
}
// vector ::iterator ite = vec.begin() ;
// for(ite; ite != vec.end(); ite++)
// {
// cout << *ite <<endl;
// }
for_each(vec.begin(), vec.end(),fun);
//
// for(int i=0;i<10;i++)
// {
// cout << vec[i] <<endl;
// }
// for(int i=0;i<10;i++)
// {
// cout << vec。at(i) <<endl;
// }
// cout << vec.back();
}
void STLADD()
{
vector vec;
// for (int i=0;i<10;i++)
// {
// vec.push_back(i);
// }
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
vec.push_back(4);
vec.push_back(5);
//sort(vec.begin(),vec.end(),greater<int>()); //排序 ,从大到小,不加greater从小到大
for_ each(vec1.begin(), vec.end(),fun);
// vec.insert(vec.begin()+2,12);
// vec.insert(vec.begin())+2,5,12);
// vector vec1(5,1); //里面5个1
// vec.insert(vec.begin()+3, vec1.begin(), vec1.begin()+3); //插入前三个 ,小数点
// vec.pop_back(); //尾删除
// vec.erase(vec.begin()+3,vec.end()); //从第三个到最后一个删除
// vec.swap(vec1);
for_ each(vec1.begin(), vec.end(),fun); //遍历
// cout << (vec > vec1 )<< endl ;
srand(unsigned int)time(0);
random_shuffle(vec.begin(),vec.end());
for_ each(vec1.begin(), vec.end(),fun);
}
int main()
{
//STLDefine();
//STLConstructor();
//STLCa[acity();
STLDO();
system("pause");
return 0;
}