一、dequeue/enqueue算法和push/pop算法有什么區(qū)別?
dequeue/enqueue是對(duì)應(yīng)于隊(duì)列的,隊(duì)列是先入先出的線性表。
push/pop是對(duì)應(yīng)于棧的,棧是先入后出的線性表。
二、新手求助!PUSH與POP的意義!大神進(jìn)來(lái)吧!!!!
/:A044?PUSH 入棧指令POP 出棧指令
三、MCS-51單片機(jī)中的PUSH POP指令。
經(jīng)過(guò)壓棧PUSH的操作:
MCS-51單片機(jī)中堆棧的地址是越來(lái)越大;
80x86的堆棧的地址是越來(lái)越小。
指向棧底,還是棧底地址減一?
--按照51、或者86的不同規(guī)律,推算即可。
四、怎么用兩個(gè)棧來(lái)模擬隊(duì)列,要求O(1)的push和pop。能用兩個(gè)隊(duì)列來(lái)實(shí)現(xiàn)一個(gè)棧么,O(1)的push和pop?
入棧:入隊(duì)列1
出棧:把隊(duì)列1的前n-1個(gè)元素倒到隊(duì)列2,把2中第n個(gè)元素出隊(duì)。下次出棧,因?yàn)榇藭r(shí)數(shù)據(jù)在2中,則對(duì)2進(jìn)行類似的操作。
具體如下:
元素為:A,B,C,3個(gè),入棧后隊(duì)列1中元素為A,B,C,隊(duì)列2中為空,第一次pop,將隊(duì)列1中前n-1個(gè)元素(n=3)出隊(duì),入隊(duì)列2,剩下的第n個(gè)元素C出隊(duì)顯示,這時(shí)隊(duì)列1中為空,隊(duì)列2中A,B;第二次pop,將隊(duì)列2中前n-1個(gè)元素(n=2)出隊(duì),入隊(duì)列1,剩下的第n個(gè)元素B出隊(duì)顯示,這時(shí)隊(duì)列1中為A,隊(duì)列2中空,第三次pop,剩下的一個(gè)元素A出隊(duì)顯示,隊(duì)列1、2都空,結(jié)束。
五、堆棧中PUSH與POP
每執(zhí)行一次字?jǐn)?shù)據(jù)的入棧,sp的內(nèi)容減2。
相反,每執(zhí)行一次字?jǐn)?shù)據(jù)的出棧,sp的內(nèi)容加2。
所以壓入3個(gè)字后,sp=sp-6=1140h-0006h=113ah
六、用push表示入棧操作,pop表示出棧操作。有一個(gè)空棧,現(xiàn)有輸入序列為1、2、3、4,為了得到1、3、4、2的出棧
push pop push push pop push pop pop
