給我乙個棧的C程式吧!c 棧的問題

2025-07-16 01:05:19 字數 2809 閱讀 1566

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。函式...