作者st945712 (st945712)
看板Grad-ProbAsk
标题[理工] 资结 Circular Array问题
时间Mon Oct 29 14:58:41 2018
http://i.imgur.com/gxQJCJ4.jpg
洪逸的资结笔记里面,
circular Array法三的部分,
请问用铅笔圈起来的两个if(front==rear)
如果省略的话会有什麽错误吗?
这个[法三]的缺点是写 因为多用了这两个if函式,所以测试时间变成[法二]的两倍
但是我想很久都想不到如果省略了这两个if会带来什麽样的错误,求各位大大解救QQ
下面附上文中所提到的[法二]
http://i.imgur.com/VCTo7Rw.jpg
-----
Sent from JPTT on my Samsung SM-G950F.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.217.200.198
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1540796323.A.06E.html
2F:→ jojoboy0115: 要是省略,就没办法判断Queue是不是真的满了,还是你 10/29 15:28
3F:→ jojoboy0115: 有其他的问题想问? 10/29 15:28
4F:→ st945712: 我说的是把if(rear==front)省略, 後面的tag = true照 10/29 15:48
5F:→ st945712: 样留着,就是『只要做enqueue 就把tag设成True』 10/29 15:48
6F:→ st945712: 『只要做Dequeue 就把tag设成false』 10/29 15:48
7F:→ jojoboy0115: 我懂你的意思了,如果没有这个判断,等於是你每次进 10/29 16:09
8F:→ jojoboy0115: 来都要把Tag变成True,即使Tag已经是True了,功能虽 10/29 16:09
9F:→ jojoboy0115: 然没有影响,这样就浪费了时间,一般不会这样写@@ 10/29 16:09
10F:→ jojoboy0115: 而且如果拿掉判断,Tag一开始设定的初衷就违背了。没 10/29 16:20
11F:→ jojoboy0115: 有满也设成True,让人不清楚Tag的功能,大概是这样。 10/29 16:20
12F:推 jasoncph: 应该是充分用到n格不然只能用n-1格 10/29 16:24
13F:→ st945712: 谢谢大大,我一开始还在想说是不是考虑同步问题@@ 10/29 17:12