数组的常见用法
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a[5] = {6,2,0,4,5}; //初始化
int len = sizeof(a) / sizeof(a[0]); //求数组长度
int len2 = sizeof(*a);
cout << len << endl << len2;
for(int &term : a) //遍历数组
{
cout << " " << term;
}
sort(a, a + len); //数组排序
for(int &term : a)
{
cout << " " << term;
}
return 0;
}
动态数组
动态数组是一个随机存取的列表数据结构,但大小是可变的。
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
//几种初始化和赋值方式
vector<int> vec1;
vector<int> vec2(5, 0);
vector<int> vec3(vec2.begin(),vec2.end());
vector<int> vec4(vec2);
int arr[5] = {7,2,3,4,5};
vector<int> vec5(arr, *(&arr + 1));
//几种遍历方式
for(int i = 0; i < vec5.size(); i++)
{
cout << " " << vec5[i];
}
cout << endl;
for(int &term : vec5)
{
cout << " " << term;
}
cout << endl;
for(auto index = vec5.begin(); index != vec5.end(); index++)
{
cout << " " << *index;
}
cout << endl;
//排序
sort(vec5.begin(), vec5.end());
//后面压入和弹出
vec5.push_back(100);
vec5.pop_back();
return 0;
}
二维数组
C++ 将二维数组存储为一维数组,
例如,数组A的维度为MxN,则A[i][j]实际上就是A[ixN+j]