棧與佇列的粗淺了解 c

2021-10-22 13:14:44 字數 1549 閱讀 3755

棧和佇列的共同特點是什麼?(a)

a只允許在端點處插入和刪除元素

b都是先進後出

c都是先進先出

d沒有共同點

解析:佇列在一端插入,另一端刪除

棧也是在一端進行操操作

棧是容器的一種

棧無遍歷,無迭代

#include

//引入棧的標頭檔案

#include

using

namespace std;

//定義結構體

struct a

demo;

intmain()

//英語不重要

cout <<

"now is start the for and push num into stack.\n"

;//把i入棧

for(

int i =

0; i <

5; i++

) cout <<

"push is over.\n"

; cout <<

"元素是:"

;//從棧頂出棧同事刪除棧頂元素

while

(demo.b.

top())

return0;

}

佇列,從隊尾插入,輸出時從隊首輸出,先入先出

#include

#include

using

namespace std;

intmain()

//向佇列裡加入資料

for(

int i =

0;i <

5; i++

)//資料是從後面加,輸出是從前面出,所以是先進先出

cout <<

"隊首元素:"

<< qu.

front()

; cout <<

"\n隊尾元素:"

<< qu.

back()

; cout <<

"\n總共:"

<< qu.

size()

<< endl;

while

(!qu.

empty()

) cout <<

"\n***************==\n";if

(qu.

empty()

) cout <<

"\n"

; cout <<

"***************=\n"

;//使用pop清空之後,隊首和隊尾的資料還是未改變,奇怪

cout <<

"隊首元素:"

<< qu.

front()

; cout <<

"\n隊尾元素:"

<< qu.

back()

; cout <<

"\n總共:"

<< qu.

size()

<< endl;

return0;

}

C 的棧與佇列

原帖位址 使用標準庫的棧和佇列時,先包含相關的標頭檔案 include include 定義棧如下 stackstk 定義佇列如下 queueq 棧提供了如下的操作 s.empty 如果棧為空返回true,否則返回false s.size 返回棧中元素的個數 s.pop 刪除棧頂元素但不返回其值 s...

C 棧與佇列

棧 棧是一種特殊的線性表,棧的插入和刪除操作只允許在表尾一端進行,因此棧是操作受限線性表。棧可以是順序儲存,也可以是鏈式儲存。往棧裡插入乙個元素稱為進棧 push 從棧裡刪除乙個元素稱為出棧 pop 同時還有乙個棧頂指標 top 總是指向最後乙個進棧的元素,當top 1 時 表示棧為空,top ma...

棧與佇列(C )

佇列的結構體定義 順序棧鏈棧 棧的應用 順序隊 迴圈佇列 鏈隊共享棧和雙端佇列 define maxsize 100typedef struct sqstactk typedef struct lnode lnode typedef struct sqqueue 鏈隊結點的結構體定義typedef ...