1. 程式人生 > >求棧的容量(從出隊的順序可以得到入棧和出棧的順序)

求棧的容量(從出隊的順序可以得到入棧和出棧的順序)

首先,要知道出棧序列和入隊序列相同(因為出棧後就入隊),出隊序列和入隊序列相同(因為佇列先進先出),所以出棧序列和出隊序列相同

出隊的順序可以得到出棧的順序,由入棧的順序和出棧的順序可以得到入棧和出棧的順序

棧和佇列,ABCDEF分別入棧,且出棧後及入佇列。出隊的順序是BDCFEA,問棧的容量至少為?

棧是先進後出,佇列是先進先出。從出隊的順序可以得到入棧和出棧的順序:A入棧-B入棧-B出棧-C入棧-D入棧-D出棧-C出棧-E入棧-F入棧-F出棧-E出棧-A出棧。從中可以看出棧中元素最多的時候有3個,所以棧的容量至少要為3。

設棧S的初始狀態為空,元素abcdef依次入棧S,出棧序列bdfeca,則棧S的容量至少應該是多少?

答案:4