c stl之動態陣列(vector)

2021-10-02 23:41:26 字數 2023 閱讀 9875

1.放入容器尾部vis.push_back(x)

2.元素個數vis.size()

3.刪除元素vis.erase(vis.begin()+1),表示刪除第二個元素,刪除的是迭代器

4.檢查容器是否為空vis.empty()

5.返回容器尾部的元素vis.back()

6.清空容器vis.clear()

7.插入元素vis.insert(vis.begin(),2);,表示在vis插入2

8.刪除尾部元素vis.pop_back(),刪除尾部元素

9.排序sort(vis.begin(),vis.end()),遵循左閉右開,即vis.end()不排序

erase和insert都是o(n)

#include

using

namespace std;

vector<

int>vis;

intmain()

if(vis.

size()

%2==1

)cout<(vis.

size()

-1)/

2]

(vis[vis.

size()

/2-1

]+vis[vis.

size()

/2])

}

#include

using

namespace std;

intmain()

for(

int i=

1;i<=n;i++

)printf

("\n");

}}return0;

}

#include

using

namespace std;

intmain()

for(

int i=

0;ifor(

int i=

1;i<=n;i++

)printf

("\n");

}}}return0;

}

#include

using

namespace std;

vector<

int>ve;

bool a[

20005];

string s1,s2;

intmain()

ans=0;

for(

int i=

1;i<=

2*n;i++

)else

printf

("b");

}printf

("\n");

}return0;

}

#include

using

namespace std;

int a[

1100005];

intmain()

int ant=0;

for(

int i=

0;i<=

1100000

;i++

)//現在a[i]為a[0]到a[i]的總的鑽石數,這裡求到11e5,防止下面a[i+k]陣列越界

else a[i]

=ant;

}int m;

int maxm=a[k]

;//因為陣列到不了-1,所以先把a[0]到a[k]的鑽石數存起來

for(

int i=

1;i<=

1000000

;i++

) cout

}

C STL 之動態陣列vector

c 中的vector是乙個可以改變大小的陣列,當解題時無法知道自己需要的陣列規模有多大時可以用vector來達到最大節約空間的目的。使用時需要包含vector標頭檔案。c 中定義一維動態陣列 vectora int為該動態陣列的元素資料型別,可以為string double等c 中定義二維動態陣列 ...

C STL 動態陣列Vector

include include using namespace std intmain include include using namespace std intmain include include using namespace std intmain 輸出動態陣列的值 for int i...

C STL之vector用法總結

vector是表示可變大小陣列的序列容器。就像陣列一樣,vector也採用的連續儲存空間來儲存元素。也就是意味著可以採用下標對vector的元素進行訪問,和陣列一樣高效。但是又不像陣列,它的大小是可以動態改變的,而且它的大小會被容器自動處理。本質講,vector使用動態分配陣列來儲存它的元素。當新元...