C Primer 學習筆記 順序容器 1)

2021-07-09 20:01:52 字數 2377 閱讀 4583

順序容器型別

vector

deque

list雙向鍊錶

forward_list單項鍊表

array

string

每個容器都定義在乙個標頭檔案中,檔名與型別名相同

list

deque

vector

>

list

>

迭代器

[begin,end)

當begin==end,範圍為空

#include

#include

using

namespace

std;

bool f(vector

::iterator tbegin, vector

::iterator tend, int n)

return

false;

}int main()

; cout

<< f(vec.begin(), vec.end(), 3);

return

0;}

#include

#include

using

namespace

std;

vector

::iterator f(vector

::iterator tbegin, vector

::iterator tend, int n)

cout

<<"未找到" ;//沒有找到,怎麼返回乙個迭代器

}int main()

; cout

<< *f(vec.begin(), vec.end(), 10);

return

0;}

list

lst1;

list

::iterator iter1 = lst1.begin(), iter2 = lst1.end();

while (*iter1<*iter2)

容器的定義和初始化

c c;

c c1=c2;

c c;

c c=;//列表初始化

c c(b,e);//從迭代器b到e內元素的拷貝

c seq(n);//容器大小引數

c seq(n,t);//容器大小引數,顯式的元素初始值

array特殊,具有固定大小

array

::size_type i;//陣列型別包括元素型別和大小

array

a1=;

array

a2=;

a1=a2;

內建陣列不支援拷貝或賦值,array無此限制

型別轉換

list

l;vector

vec(l.begin(),l.end());

assign

assign() 函式要麼將區間[start, end)的元素賦到當前vector,或者賦num個值為val的元素到vector中.這個函式將會清除掉為vector賦值以前的內容.

string &assign(const string &s,int start,int n);把字串s中從start開始的n個字元賦給當前字串

string &assign(const_iterator first,const_itertor last);把first和last迭代器之間的部分賦給字串

list

l;vector

vec;

vec.assign(l.begin(), l.end());

swap

交換2個相同型別容器的內容。

容器大小操作

size()

empty()

max_size()

關係運算子

兩邊的運算物件型別必須是相同型別的容器

或者9.16

bool judge(iter first1, iter last1,iter first2,iter last2)

return

1; }

}

C Primer 筆記 順序容器

將單一元素型別聚集起來成為容器,然後根據位置來儲存和訪問這些元素 vectorivec listslist dequedstr vector 支援快速隨機訪問 list 支援快速插入 刪除 deque 雙端佇列 stack 後進先出 lifo 棧 queue 先進先出 fifo 佇列 priorit...

《C primer》 順序容器

順序容器 vector 支援快速隨機訪問 list 支援快速插入 刪除 deque 雙端佇列 順序容器介面卡 stack 後進先出 lifo 棧 queue 先進先出 fifo 棧 priority queue 有優先順序管理的佇列 容器元素型別必須滿足條件 1.支援賦值運算,2.物件可以賦值 因為...

C primer 順序容器

順序容器 vector deque list 介面卡 根據原始容器型別所提供的操作,通過定義新的操作介面,適應基礎的容器型別。容器元素初始化 cc 預設建構函式 cc n n個值初始化,只適用於順序容器,必須給出缺省建構函式 cc n,t n個t只適用於順序容器,可以不給,但要給出 t t 建構函式...