對于一個堆疊,使用順序存盤,如果初始化時將堆疊頂指標top定為0。
那么當進行入堆疊操作時,應該是
data[top++]=x
出堆疊應該是
gettop=data[--top]
這樣子是正確的嗎?
可為什么我看的書上卻是這樣子
求大佬指教!
uj5u.com熱心網友回復:
這個看你自己的想法設計了,你可以設計成第一個是0,也可以設計成第一個是1, LUA就是這樣的uj5u.com熱心網友回復:
如果像書上寫的那樣,那么stack[0]就不存盤任何資料,直接就是從stack[1]開始存盤了uj5u.com熱心網友回復:
還是那句話,看設計,你給外部提供的介面就是bool push(data), bool pop(data),外部看不到索引,你咋個操作都可以只要不出錯uj5u.com熱心網友回復:
可是如果按照書上寫的,那存盤應該是從stack[1]開始的,這樣stack[0]就空出來了啊
uj5u.com熱心網友回復:
空了就空了啊,LUA第一個也是1開始的uj5u.com熱心網友回復:
有的時候會用一個空的做特殊設計,有特殊用途,比如回圈表。如何知道結束了,就用第一個無用的。uj5u.com熱心網友回復:
要看你的堆疊top初始花為0還是-1;uj5u.com熱心網友回復:
對,多一個的話會讓代碼判斷的邏輯簡單些。uj5u.com熱心網友回復:
好的,感謝泥萌~~~轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/108718.html
標籤:新手樂園
上一篇:PTA 7-2 說反話-加強版
下一篇:求編碼大神
