stack的簡單用法總結


stack中常見方法

  1. top():返回一個棧頂元素的引用,類型為 T&。如果棧為空,返回值未定義。
  2. push(const T& obj):可以將對象副本壓入棧頂。這是通過調用底層容器的 push_back() 函數完成的。
  3. push(T&& obj):以移動對象的方式將對象壓入棧頂。這是通過調用底層容器的有右值引用參數的 push_back() 函數完成的。
  4. pop():彈出棧頂元素,直接刪除棧頂元素,並沒有返回該值哦。
  5. size():返回棧中元素的個數。
  6. empty():在棧中沒有元素的情況下返回 true。
  7. emplace():用傳入的參數調用構造函數,在棧頂生成對象。
  8. swap(stack & other_stack):將當前棧中的元素和參數中的元素交換。參數所包含元素的類型必須和當前棧的相同。對於 stack 對象有一個特例化的全局函數 swap() 可以使用。

stack簡單用法示例

int main(){
//定義一個空棧a
stack<int> a;

for(int i = 1; i <= 3; i++)
    a.push(i);

cout << "size of a is " << a.size()<< endl;
cout << "element of  a is: " ;

for(; a.size() > 0;){
    // cout << a.pop() << " "; pop直接刪除元素並沒有返回,所以這種用法是錯誤的

    cout << a.top() << " ";
    a.pop();
}

cout <<endl;
cout << "after pop all element in a,the size =  " << a.size()<< endl;
cout << endl;
return 0;
}

輸出結果如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM