stack, deque 和 queue這三個(gè)c++的STL的數(shù)據(jù)結(jié)構(gòu)很類似但又各有不同藕甩。
stack是堆棧施敢,沒有迭代器,特點(diǎn)是后進(jìn)先出。用push()將元素壓入棧中僵娃,top()返回棧頂元素概作,pop()移除棧頂元素。
deque是雙端隊(duì)列默怨,支持迭代器讯榕,使用push_back()在隊(duì)尾添加元素,pop_back()移除隊(duì)尾元素先壕,這些跟vector差不多瘩扼。不同的地方在于deque還可在隊(duì)首添加和移除元素,使用pop_front()和push_front()垃僚。
queue是隊(duì)列,特點(diǎn)是先進(jìn)先出规辱,不支持迭代器谆棺,使用push()將元素排入對(duì)中,front()返回隊(duì)首元素,pop()移除隊(duì)首元素罕袋。