[理工] 资结问题(已补图)

楼主: yatingiloveu (yo廷廷)   2021-11-03 01:35:49
大家好,小弟我想问个问题。
我外系修课所以也没有人可以讨论,有点问题是想请问各位前辈能否帮我看,
我的“234567 ”空格旁边的蓝色code有没有写错。
https://i.imgur.com/QBSMDXx.jpg
再来是有个地方一直看不太懂
(1)
Main fun
现在s.top=stacksize 是3
里面有个 k[0] =pop()小弟我的理解是call pop这个函式后 存到 k[0]内不太明白为何
传的是-1
(2)再来是他说s.top = stacksize
那对于后面的程式码有影响到吗?他是想表示一开始s.top 指超过比整个stack上面一个
index吗?有点不太能理解这个操作。
先谢谢感谢各位前辈了。
作者: joywilliamjo (joywilliamjoy)   2021-11-03 05:32:00
你的图没上到
作者: gaowei16 (啾啾人)   2021-11-03 08:58:00
作者: jacksoncsie (资工肥宅)   2021-11-03 19:43:00
哪来的code 我只看到1有写而已https://i.imgur.com/x5dFWjw.png上面的可以跑Ypop function if应该没有 = 0你应该是对的 我上面错
作者: foogty (夫葛踢)   2021-11-03 22:02:00
(1)的问题是因为一开始stack为空 所以跑得是pop function else部分(2)如果我没想错的话应该是陷阱,一开始说明s.top=STACKSIZE所以这题的stack应该是从s[3]往s[0]长,所以push的话top会往下减(跟教科书的实作方法相反)所以你pop和push function要再注意一下上面打错应该是s[2]往s[0]长才对
楼主: yatingiloveu (yo廷廷)   2021-11-04 19:57:00
谢谢 jack大 f大 我大概了解了感恩

Links booklink

Contact Us: admin [ a t ] ucptt.com