更新STL容器array的内容,本次更新内容主要是以使用array为主,主要的算法是以容器自身成员函数.
#include <iostream>
#include <array>
#include <algorithm>
int main()
{
//初始化数组
std::array<int,10> data0;//数组的数据为随机数据
std::array<int,10> data1{};//数据初始化为0
std::array<int,10> data2{1,2,3,4};//初始化数据为1 2 3 4 0 0 0 0 0 0
//访问数据可以像普通数组一样
std::cout << "输出data1的数据"<< std::endl;
for(int i = 0; i < 10; ++i)
{
std::cout << data1[i] << std::endl;
}
//使用迭代器访问数组it相当于指针,
std::cout << "输出data2的数据"<< std::endl;
for(std::array<int,10>::iterator it = data2.begin();it != data2.end(); ++it)
{
std::cout << *it << std::endl;
}
for(auto it = data2.rbegin();it != data2.rend(); ++it)
{
std::cout << *it << std::endl; //使用反向迭代器,auto真好用
}
std::cout << data2.size() << std::endl;
std::cout << data2.front() << std::endl;
swap(data1,data2);
std::cout << "输出data1的数据"<< std::endl;
for(auto it = data1.begin();it != data1.end(); ++it)
{
std::cout << *it << std::endl;
}
std::cout << "输出data2的数据"<< std::endl;
for(auto it = data2.begin();it != data2.end(); ++it)
{
std::cout << *it << std::endl;
}
return 0;
}