两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

1. 再談棧

回顧一下之前所學(xué)的棧,棧是一種先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),而實(shí)現(xiàn)方式需要?jiǎng)?chuàng)建多個(gè)結(jié)構(gòu)體,通過(guò)鏈?zhǔn)降姆绞竭M(jìn)行實(shí)現(xiàn),這是標(biāo)準(zhǔn)的棧的思路,而在STL中??梢砸愿鼮楹?jiǎn)單的方式實(shí)現(xiàn)。

2. 頭文件

頭文件 #include<stack>

3. 初始化

格式為:explicit stack (const container_type& ctnr = container_type());

我們以int類型作為參數(shù)為例進(jìn)行創(chuàng)建,其創(chuàng)建方法與vector無(wú)異

stack<int> s;
stack<int> v(s);

標(biāo)準(zhǔn)的棧創(chuàng)建方法是直接創(chuàng)建空棧,由于棧的特殊性質(zhì),讓他擁有其他容器的參數(shù)可以這樣創(chuàng)建,這種多參數(shù)的方式可能有一些復(fù)雜,一般也很少這樣使用。

    vector<int> v(3,100);           
    stack<int,vector<int> > s(v);  //注意,> >符號(hào)之間需要有一個(gè)空格隔開(kāi)

通過(guò)標(biāo)準(zhǔn)的方式創(chuàng)建向量數(shù)組,然后通過(guò)復(fù)制構(gòu)造函數(shù)的方式進(jìn)行創(chuàng)建,其內(nèi)容就是vector數(shù)組的全部?jī)?nèi)容。

4. 迭代器

棧和隊(duì)列都屬于一種特殊的數(shù)據(jù)結(jié)構(gòu),只能通過(guò)訪問(wèn)頂層數(shù)據(jù)并不斷剔除數(shù)據(jù)的方法進(jìn)行全部訪問(wèn),因此沒(méi)有直接的迭代器。

5. 常用接口

我們使用stack<int> s 預(yù)先創(chuàng)建了一個(gè)棧,命名為s,方便舉例

a)大小size()

返回棧元素的個(gè)數(shù)

函數(shù)原型:size_type size() const;

cout<<s.size()<<endl;   //直接返回棧中元素的個(gè)數(shù)

b) 返回棧頂元素top()

返回棧頂元素內(nèi)容

函數(shù)原型:

reference& top();

const_reference& top() const;

cout<<s.top()<<endl;     //直接返回輸出即可
s.top()+=100;            //也可以直接對(duì)棧定元素進(jìn)行修改操作

c) 入棧push()

往棧頂中插入一個(gè)元素。

函數(shù)原型: void push (const value_type& val);

d)出棧pop()

將棧頂元素釋放,注意pop()函數(shù)是沒(méi)有返回值的,如果要想訪問(wèn)后刪除需要先top再pop使用。

函數(shù)原型:void pop();

s.pop();

e) 判空empty()

返回一個(gè)bool類型的值,只存在真和假,當(dāng)棧為空時(shí)為真,不為空時(shí)為假

函數(shù)原型

bool empty() const;

可以利用判空的函數(shù)進(jìn)行元素訪問(wèn)的操作,這里建議先使用初始化函數(shù)將棧進(jìn)行復(fù)制,否則遍歷之后棧s就為空了。

while(!s.empty()){
        cout<<s.top()<<endl;
        s.pop();
    }

6.  推薦配套作業(yè)

我們可以把棧相關(guān)的題目再度拿出來(lái)做一下,看一下使用STL可以怎么樣進(jìn)行簡(jiǎn)化。

請(qǐng)使用STL的方法完成進(jìn)制轉(zhuǎn)換題目。

[第三章-棧的內(nèi)容]

可以嘗試的去利用棧的思維實(shí)現(xiàn)一下進(jìn)制轉(zhuǎn)換的題目

如十進(jìn)制到八進(jìn)制:1055題  

十進(jìn)制到二進(jìn)制:1192題  

或者可以嘗試一下利用遞歸棧的方式,將棧去代替函數(shù)遞歸實(shí)現(xiàn)一些功能(注意,這將會(huì)是DFS搜索算法的理解基礎(chǔ))

如斐波那契數(shù)列:1131題  

點(diǎn)贊(0)

C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會(huì)寫(xiě)的:零基礎(chǔ)C語(yǔ)言學(xué)練課程

解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程

從零到寫(xiě)出一個(gè)爬蟲(chóng)的Python編程課程

只會(huì)語(yǔ)法寫(xiě)不出代碼?手把手帶你寫(xiě)100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門(mén)課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)