關於資料結構c語言鏈棧的問題

2021-03-03 21:27:11 字數 1071 閱讀 6310

1樓:匿名使用者

你的while迴圈寫錯了,你想借助s遍歷,但是迴圈條件用的還是top,而top在迴圈內部沒有修改,所以專就進入死循屬環了,應該這麼改:

while(s!=null) //用s

還有,print函式應該是不想修改鏈棧的吧,只是讀取。所以引數就不要用a的地址了,直接用a傳遞就行了,保證函式體內不會意外修改a。函式引數要做相應的修改。

像這樣:都不用額外借助一個s了。

void print(coffee *top)}用print(a);呼叫就好了。

有問題hi聯絡。

2樓:豆品姜河靈

第一步是將值賦給開闢的節點,第二三步是利用頭插法將節點插入連結串列,第三步還有就是top也是棧頂的指標

c語言資料結構中鏈棧的問題

3樓:充實生活

這個鏈棧應該bai就是一個du

用連結串列弄的後進先出的

zhi棧結構dao。top指標永遠指向棧的最上面的回那個節點。

這個函式是新加一個節點到這個棧中,首先分配了空間給s,s是要新加入這個棧的那個節點。

s->next=top;就是讓s指向棧的最上面的那個元素。top=s;因為現在最上面的節點是s了,所以讓top指向s,使s成為棧頂指標。返回的就是棧的頂上那個節點的指標。

這答樣迴圈呼叫這個函式就可以不斷的新增新節點,加入的新節點總是指向前面的那個節點,同時新加入的節點成為頭節點。

4樓:匿名使用者

linkstack push_linkstack(linkstack top, datatype x)

資料結構鏈棧出棧的函式有問題,幫忙改一下!(c語言裡面取地址和指標一直不太懂) 40

5樓:jw木有道理

flag=pop(s,&e);這裡不該這樣呼叫,直抄接使用flag=pop(s,e);

函式定義裡&表示引用實參,也即是說使用e物件本身進行運算,而如果沒有&則是使用e物件的拷貝進行運算

資料結構鏈棧出棧的函式有問題,幫忙改一下!(C語言裡面取地址

flag pop s,e 這裡不該這樣呼叫,直抄接使用flag pop s,e 函式定義裡 表示引用實參,也即是說使用e物件本身進行運算,而如果沒有 則是使用e物件的拷貝進行運算 關於資料結構 c語言 鏈棧的問題 你的while迴圈寫錯了,你想借助s遍歷,但是迴圈條件用的還是top,而top在迴圈內...

資料結構C語言版怎麼學啊資料結構和C語言資料結構有什麼區別

資料結構這門課,主要講了2個問題 第一個就是在程式中如何組織資料,第二個就是常用演算法專。總之,這門課屬的意義在於講解了程式設計時的思想,這些思想是跨越語言的。學習這門課,沒什麼捷徑,就是讀 然後用你會的任何一種程式語言實現它。當把書中的 讀懂80 的時候,你就會發現你的程式設計水平有很大的提高。首...

資料結構中的順序棧的進棧和出棧問題

include define stacksize 100typedef char datatype typedef struct seqstack void initstack seqstack s int stackempty seqstack s int stackfull seqstack s...