C 標準模板庫(STL)之Stack

2022-08-14 20:15:10 字數 1835 閱讀 5563

stack:棧,乙個後進先出的容器。

1.1、stack的定義

加上標頭檔案#include和using namespace std;

stacksk;

1.2、stack容器元素的訪問

stack是一種操作受限制的線性表,只能通過top()來訪問棧頂元素。

#include#include

using

namespace

std;

intmain()

printf(

"%d\n

",sk.top());

return0;

}

1.3、stack常用函式

1.3.1、push()

push(x):將x入棧,時間複雜度為o(1)

1.3.2、top()

top():獲取棧頂元素,時間複雜度為o(1)

1.3.3、pop()

pop():出棧頂元素。

1.3.4、empty()

empty():判斷棧是否為空

1.3.5、size()

size():獲得棧元素個數

#include#include

using

namespace

std;

intmain()

printf(

"%d %d\n

",sk.top(),sk.size());//

5 5return0;

}

1.4、stack的用途

用來模擬實現遞迴。程式的棧記憶體空間很小,如果用普通遞迴,可能會導致程式執行崩潰。

用棧模擬遞迴可以避免這種問題。

2018-09-25 20:25:28

@author:foreordination

stack:棧,乙個後進先出的容器。

1.1、stack的定義

加上標頭檔案#include和using namespace std;

stacksk;

1.2、stack容器元素的訪問

stack是一種操作受限制的線性表,只能通過top()來訪問棧頂元素。

#include#include

using

namespace

std;

intmain()

printf(

"%d\n

",sk.top());

return0;

}

1.3、stack常用函式

1.3.1、push()

push(x):將x入棧,時間複雜度為o(1)

1.3.2、top()

top():獲取棧頂元素,時間複雜度為o(1)

1.3.3、pop()

pop():出棧頂元素。

1.3.4、empty()

empty():判斷棧是否為空

1.3.5、size()

size():獲得棧元素個數

#include#include

using

namespace

std;

intmain()

printf(

"%d %d\n

",sk.top(),sk.size());//

5 5return0;

}

1.4、stack的用途

用來模擬實現遞迴。程式的棧記憶體空間很小,如果用普通遞迴,可能會導致程式執行崩潰。

用棧模擬遞迴可以避免這種問題。

2018-09-25 20:25:28

@author:foreordination

C 標準模板庫(STL)之vector

vector即長度可變的陣列 標頭檔案宣告 include using namespace std 1.定義 vector int v vectorint age 兩個 之間需加空格,不然會被誤以為是移位操作 vector int vi 100 vector陣列,vi 0 vi 99 每乙個都是乙個...

C 標準模板庫(STL)之 string

在c語言中,一般使用字元陣列char str來存放字串,但是使用字元陣列有時會顯得麻煩,c 在stl中加入了string型別,對字串常用的需求功能進行了封裝,使得操作起來更方便,且不易出錯。如果需要使用string 需要新增string標頭檔案,即 include 注 string.h和string...

C 標準模板庫(STL)之 vector

一 vector的常見用法詳解 1.vector的定義 標頭檔案 include 單獨定義乙個vector vectorname 注 如果typename也是乙個stl容器,定義的時候要記得在 符號之間加上空格,因為一些使用c 11之前標準的編譯器會把它視為移位操作,導致編譯錯誤。如果typenam...