2023計(jì)算機(jī)考研初試在即,在最后階段建議各位同學(xué)將知識(shí)點(diǎn)再系統(tǒng)復(fù)習(xí)一遍,以免有所遺漏!2022計(jì)算機(jī)考研數(shù)據(jù)結(jié)構(gòu)第三單元知識(shí)點(diǎn)包含棧(后進(jìn)先出)、隊(duì)列(先進(jìn)先出)。高頓考研為大家整理了2022計(jì)算機(jī)考研數(shù)據(jù)結(jié)構(gòu)第三單元知識(shí)點(diǎn)的詳細(xì)內(nèi)容,供大家參考復(fù)習(xí)!
棧(后進(jìn)先出)
棧是限定插入和刪除運(yùn)算只能在線性表同一端進(jìn)行的動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)。
允許插入和刪除元素的一端稱為棧頂,另一端稱為棧底。
相關(guān)運(yùn)算:
IsEmpty():若???,則返回true;否則返回false。
IsFull():若棧滿,則返回true;否則返回false。
Top(x):返回棧頂元素。若操作成功,則返回true;否則返回false。
Push(x):在棧頂插入元素x。
Pop():從棧中刪除棧頂元素。
Clear():清除堆棧中全部元素。
(1)順序棧
一維數(shù)組s存儲(chǔ)棧中元素,maxTop+1為最大允許容量,top指示棧頂,top==-1表示空棧,top==maxTop表示棧滿。
(2)鏈接棧
隊(duì)列(先進(jìn)先出)
隊(duì)列是限定只能在線性表的一端插入元素,而在另一端刪除元素的動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)。
允許插入元素的一端稱隊(duì)尾,允許刪除元素的另一端稱隊(duì)頭。
(1)順序隊(duì)列
注意:使用兩個(gè)指針front和rear,front指向隊(duì)頭元素的前一單元,rear指向隊(duì)尾元素。
隊(duì)頭指針進(jìn)一:front=(front+1)%maxSize;
隊(duì)尾指針進(jìn)一:rear=(rear+1)%maxSize;
空隊(duì)列:當(dāng)front==rear時(shí)
滿隊(duì)列:當(dāng)(rear+1)%maxSize==front時(shí)
相關(guān)運(yùn)算:
Front(x):在x中返回隊(duì)頭元素。操作成功返回true;否則返回false。
EnQueue(x):在隊(duì)尾插入元素x。操作成功返回true;否則返回false。
Dequeue():從隊(duì)列中刪除隊(duì)頭元素。操作成功返回true;否則返回false。
(2)鏈接隊(duì)列