棧為空時TOP=-1有好處,那就是編寫程序時用數組存儲時
插入壹個數據data時
直接
top++;
a[top]=data;
------------
取棧頂時也可以
直接取a[top]=data;
如果top=0的話則需要寫成a[top-1]=data;
所以用top=-1在編程時可以減少許多a[top-1]的現象
但是也有缺點就是棧的長度不等於top,而是top+1;
同理top=0反過來了,top的值等於棧的長度,
但是編寫取棧頂等函數時老需要a[top-1]
個人覺得top=-1比較好
第二:
assert( tpos<Length-1 ); //
elmlist[++tpos] = item;
妳沒看到下壹句,如果tpos=9 那elmlist[++tpos]=elmlist[10]就越界了