c++ stack,queue,vector用法

來源:互聯網
上載者:User

這幾天在接觸搜尋的題目,用bfs時基本都用到隊列,就順便學習了資料結構的棧、隊列。本來上個學期教練就叫我們看下資料結構的,但是到現在還是沒怎麼看,下個學期就要學咯。

c++ stack,queue,vector用法
分別包含在檔案<stack>,<queue>,<vector>
定義:
stack<class T> s;
queue<class T> q;
vector<class T> v;
stack的方法:
push()的向容器頂部裡插入元素;
pop()是刪除容器頂部的元素;
top()返回容器頂部的元素;
size()返回容器的元素個數;
begin()是返回一個位於容器的第一個元素的迭代器;
end()當然是最後了;
empty()是檢查是否為空白的方法 

queue的方法,它和stack很像:
back()返回隊列最後一個元素引用
empty()是檢查是否為空白的方法 
front()獲得隊列最前面一個元素引用
push()在隊列尾添加一個資料
pop()刪除隊列頭的一個資料
size()隊列中元素個數

vector的方法
vector容器是一個模板類,可以存放任何類型的對象(但必須是同一類對象)。vector對象可

以在運行時高效地添加元素,並且vector中元素是連續儲存的。
vector的建構函式:
vector<string> v1; // 建立空容器,其物件類型為string類
vector<string> v2(10); // 建立有10個具有初始值(即空串)的string類對象的容器
vector<string> v3(5, "hello"); // 建立有5個值為“hello”的string類對象的容器
vector<string> v4(v3.begin(), v3.end()); // v4是與v3相同的容器(完全複製)

void push_back(x); // 向容器末尾添加一個元素
void pop_back(); // 彈出容器中最後一個元素(容器必須非空)
vector<int>::iterator iter=v.begin();//初始化迭代器,讓他指向v的開始。
iterator erase(iterator it); // 刪除指定元素,並返回刪除元素後一個元素的位置(如果

無元素,返回end())
iterator erase(iterator first, iterator last); // 注意:刪除元素後,刪除點之後的元

素對應的迭代器不再有效。void clear() const; // 清空容器,相當於調用erase( begin(),

end())
void reserve(size_type n); // 確保capacity() >= n

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.