C 資料結構之棧與佇列

2021-09-23 10:10:30 字數 781 閱讀 7651

先講乙個笑話,怎樣判斷乙個人是否是程式設計師?答:問他push的反義詞是什麼。回答pull的是普通人,回答pop的才是程式設計師,push和pop就是棧和佇列中要用到的函式。

棧是一種線性儲存結構,元素遵循「先進後出」,並且只能在棧頂進行插入和刪除,附上**演示棧的用法,超詳細。

#include

#include

//包含棧的標頭檔案

using namespace std;

int main()

cout

while

(!s.

empty()

)//判斷棧是否為空

return0;

}

接下來再談另一種線性儲存結構–佇列。他的元素遵循「先進先出」,隊首刪除,隊尾插入,不多說,**中演示佇列的用法。

#include

#include

//包含佇列的標頭檔案

using namespace std;

int main()

cout

cout<<

"隊首:"

"隊尾:"

(!q.

empty()

)//判斷佇列是否為空

return0;

}

資料結構之棧與佇列

寫在前面 棧與佇列是兩種不同特點的資料結構。棧遵循著先進後出的特點,它就像乙個器皿,先放進去的後被取出來,後放進去也就是靠近瓶口的先出來。佇列,就像它的名字一般,它的結構類似於排隊,先進先出,後進後出。棧的實現package stack public class mystack public mys...

資料結構之棧與佇列

順序棧儲存結構 define stack size 50 typedef structstack 順序棧初始化 void initstack stack s 順序進棧 int push stack s,type x 順序棧出棧 int pop stack s,type x 鏈棧儲存結構 typede...

資料結構 之 棧與佇列

順序表實現 class stack object 棧 def init self self.list 選用順序表或鍊錶 defpush self,item 壓棧 self.時間複雜度o 1 self.list.insert 0,item 頭部插入,時間複雜度o n 說明 鍊錶結構的話,頭部插入。de...