STL常用操作:array

1.初始化

array<int, 10> arr1; arr1[0]=1;arr1[1]=2;    //初始化10个int的array,并赋值
array<int, 10> arr2{ 1, 2, 3};    //使用initializer_list初始化
array<int, 10> arr3(arr1);    //拷贝构造
array<int, 10> arr4(move(arr2));    //移动构造

2.常用操作

arr.at(0);    //返回第一个元素
arr.size();    //返回容器的大小
arr.front();    //返回首元素 
arr.back();	    //返回容器最后一个元素 
arr.data();    //返回底层数组的指针 
arr.empty();    //是否为空
arr.fill(1);    //将所有元素设置为1 
get<0>(arr) = 5;	//将第一个元素设置为5
get<0>(arr);	//获取第一个元素 
array<int, 10>::iterator it = arr.begin();
array<int, 10>::const_iterator c_it = arr.cbegin(); 
array<int, 10>::reverse_iterator rit = arr.rbegin();
array<int, 10>::const_reverse_iterator cr_it = arr.crbegin();

3.不常用操作

arr.max_size();     //返回容器的容量
arr1.swap(arr2);    //交换两个容器

4.遍历

  • 下标法
for(int i = 0; i < arr.size(); i++) cout << arr[i] << " ";
  • 迭代器
for(array<int, 10>::iterator it = arr.begin(); it != arr.end(); ++it) cout << *it << " ";
  •  C11
for(int x : arr) cout << x << " ";

5.算法

sort(arr.begin(), arr.end());
发布了36 篇原创文章 · 获赞 6 · 访问量 6976

猜你喜欢

转载自blog.csdn.net/zhuikefeng/article/details/104749197