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...