1樓:網友
給你個**吧,這些都是關於棧的程式。
可能比較慢,因為平臺的伺服器不怎麼好,不過這裡的幾乎每一道題都有歸類。
c++棧的問題
2樓:帳號已登出
因為它說了依次輪流入棧和入隊= =所以就是a放棧,b放隊,c放棧,d放隊。
棧是先進後出,a在輸出的第乙個,那麼肯定是在b進入前出來的,後面的bc也是同樣情況,所以前六個是進a,出a,進b,出b,進c,出c,此時棧為空,後面輸出序列為e,d,均在f之前,同理說明ed在f入棧之前出來的;
次序是 進d,進e,出e,出d,此時棧又空了,出棧為f,g,次序和輸入一樣,就是和a,b的一樣,所以是進f,出f,進g,出g
全部過程:進a,出a,進b,出b,進c,出c,進d,進e,出e,出d,進f,出f,進g,出g。
c++的「棧」是什麼啊?
3樓:深空遊戲
c語言中的堆和棧都是一種資料項按序排列的資料結構。棧就像裝資料的桶或箱鉛慎子我們先從大家比較熟悉的棧說起吧,它是一種具有後進先出性質的資料結構,也就是說後存放的先取,先存放的後取。
您所說的棧,是由作業系統負責管理的一段棧空間,在遞迴、子程式呼叫等處應用廣泛。這是作業系統的範疇。——並不是在c語言範疇討論的概念。
棧區(stack):由編譯器自動分配釋放,存放函式的引數值,區域性變數等值。區域性變數,任務執行緒函式之類的是放在(使用)棧裡面的,棧利用率高一些。其操作方式類似於資料結構中的棧。
棧,可以看作是一摞卡片,最上面的卡片表示程式的當前作用域,這往往就是當前正在執行的函式。堆,一段完全獨立於當前函式或者棧幀的記憶體區。
棧是一種資料結構,用於存放資料,可以理解為羽毛球筒,羽毛球就是資料,最先放進去的最後才能拿出來。c語言雹渣可以用結構體來定義棧,每個元素以指標指向它前面的元素,最前面的元素稱為棧頂,它的指標為空。
棧是用來儲存資料的,資料形式是先壓棧的最後出,最後壓棧的最先出棧,就像公尺源激悄缸一樣,你先放進去的要最後才能吃,反而最後放進公尺缸的最先出一樣。。
有關棧的c++程式帶解釋,剛剛學,望高手指點~~~~
4樓:無名狀
1)設計乙個能夠儲存整形資料的棧類intstack,並滿足如下要求:
1)有乙個帶引數的建構函式,該引數用於設定棧的初始大小。
2)具有解構函式。
3)具有clear函式,它能夠將棧置為空。
4)具有isempty函式,它能夠判斷棧是否為空。
5)具有length函式,它能夠得到棧的元素個數。
6)具有push函式,能夠將乙個整形資料壓入棧。
7)具有pop函式,能夠將棧頂元素出棧。*/class stack
stack::stack(int size)int stack::clear()
int stack::isempty()/返回1表示堆疊為空,0為非空。
int stack::length()
int stack::push(int a)//else return 0;
int stack::pop()
elsereturn 0;
2)實現乙個main函式,在main函式中至少完成如下工作:
1)定義乙個intstack類的物件,設定棧的初始大小為5。
2)將5個整數壓入棧。
3)將棧的元素個數顯示在螢幕上。
4)將棧頂上的3個元素出棧,並分別顯示這3個元素的值。
5)清空棧。
void main()
else return ;
在c語言中,什麼叫"棧"?
5樓:網友
棧是一種資料結構。
棧只允許訪問乙個資料項即最後插入的資料項:即最後插入的資料項。移出這個資料項之後才能訪問倒數第二個插入的資料項,依此類推。
即後進先出。放入是一種壓棧的過程;取出是一種彈棧的過程,彈棧的時候並刪除這個元素。
以我們生活中的桶裝薯片的例子可以說明這一點,當廠家在生產薯片的時候,要將薯片一片片的裝入食品桶中,這就是乙個壓棧的過程。最先放的薯片將在食品桶的最底部。最後放的在食品桶的最上面。
當我們買到薯片,開啟包裝,享受薯片給我們帶來的美味時,此時就是乙個彈棧的過程,我們只能從最上面開始取出吃掉,然後再取下一片吃,直到將整盒薯片吃完。
關於c棧的問題。高手進
6樓:太叔新煙念倩
你依次考慮出棧的元素。
b,d,c,f,e,a
每乙個元素出棧時,連同其本身在內,還有多少個元素在棧裡面的,對應這些值的最大值,就是棧的至少容量。因為如果少於這個容量,棧將無法容納每乙個出棧元素所需要的空間。
這個例子中,這個最大值就是元素。
d出棧時,連同。
d本身在內,還有。
a、c、d3個元素在棧中(b已經出棧),所以,這個題目的答案就是。
7樓:在友何偲
根據出棧入棧順序分析如下:
a進。b進。
b出 需要最小容量2
剩下ac進。
d進。d出。
c出 加上那個a
需要最小容量3
剩下ae進。
f進。f出。
e出。a出。
e、f加上那個a
需要最小容量3
根據以上分析。
容量最少是3就可以了。
c++棧的問題
8樓:
出棧順序是。。。e4、e3、e2、e1
棧是後進先出。
c 中棧和堆的問題
你應該去看看作業系統原理。windows是分時作業系統,如果是單核cpu的話一個時候只能執行一個程式,其它程式處於掛起狀態。windows將cpu的執行時間劃分為許多個很小的時間片,然後讓這些程式輪換使用。因為輪換的非常快,在你看來就像是同時執行了多個程式一樣。因此你的疑問就很好回答了,系統為每個程...
資料結構鏈棧出棧的函式有問題,幫忙改一下!(C語言裡面取地址
flag pop s,e 這裡不該這樣呼叫,直抄接使用flag pop s,e 函式定義裡 表示引用實參,也即是說使用e物件本身進行運算,而如果沒有 則是使用e物件的拷貝進行運算 關於資料結構 c語言 鏈棧的問題 你的while迴圈寫錯了,你想借助s遍歷,但是迴圈條件用的還是top,而top在迴圈內...
關於資料結構c語言鏈棧的問題
你的while迴圈寫錯了,你想借助s遍歷,但是迴圈條件用的還是top,而top在迴圈內部沒有修改,所以專就進入死循屬環了,應該這麼改 while s null 用s 還有,print函式應該是不想修改鏈棧的吧,只是讀取。所以引數就不要用a的地址了,直接用a傳遞就行了,保證函式體內不會意外修改a。函式...