一:不定長數組(vector)
數組實際上就是一個指針,只是給他一個標記(數組名)就變成了我們常使用的數組,不定長數組就是不存在數組越界的行爲,也就是指針越界。vector把一些常用操作封裝在其內部。
作爲一個模板類;定義用以下方式;
vector<數據類型>名稱。比如:vector<int>a;(你可以理解爲int a[])
其基本操作:
讀取大小:a.size();
改變大小:a.resize();
向尾部添加元素:a.push_back();
刪除最後一個元素:a.pop_back();
清空操作 a.clear();
檢測是否爲空 a.empty();
#include<bits/stdc++.h>
using namespace std;
int main()
{
vector<int>a[100];///相當於定義了一個二維數組,一維固定爲100,二維不固定
a[0].clear();
for(int i=0;i<10;i++)
a[0].push_back(i);
for(int i=0;i<a[0].size();i++)
cout<<a[0][i];
cout<<endl;
a[0].resize(5);
for(int i=0;i<a[0].size();i++)
cout<<a[0][i];
cout<<endl;
if(a[0].empty())cout<<"nothing"<<endl;
else cout<<"something"<<endl;
a[0].clear();
if(a[0].empty())cout<<"nothing"<<endl;
else cout<<"something"<<endl;
return 0;
}
輸出結果爲:
0123456789
01234
something
nothing