實現一個棧,要求實現出棧、入棧、返回最小值的時間複雜度爲O(1)

  由棧的一些基本操作,很容易使出棧和入棧的時間複雜度爲O(1),但是由於入棧數據元素順序不一定是有序的,故不能直接實現返回最小值的時間複雜度爲O(1)。下面提供兩種方法: (一)設置一個特殊的數據結構類型,包括兩個棧_data棧和_mindata棧,_data棧和原來的棧操作相同,存儲所有的數據,_mindata棧用來存儲最小值。 typedef struct Minstack { Stack
相關文章
相關標籤/搜索