資料結構 (2)棧和佇列

2021-08-16 01:39:27 字數 1294 閱讀 8910

資料結構:字串、棧、佇列、陣列、鍊錶、二叉樹

c++中stl常用的資料結構:

string、stack、queue、deque、vector、list、map、iterators

2、佇列(先進先出)

push(): 向棧內壓入乙個成員;

pop(): 從棧頂彈出乙個成員;

empty(): 如果棧為空返回true,否則返回false;

top(): 返回棧頂,但不刪除成員;

size(): 返回棧內元素的大小;

#include

#include

using

namespace

std;

int main()

}my_stack(int size):top(-1),maxsize(size)

}~my_stack()

//是否為空

bool empty();

//壓棧

void push(type

tp);

//返回棧頂元素

type

top();

//出棧

void pop();

//棧大小

int size();

};templatetype>

bool my_stack::empty()

templatetype>

type

my_stack

::top()

}templatetype>

void my_stack::push(

type

tp)}

templatetype>

void my_stack::pop()

}templatetype>

int my_stack::size()

然後就可以在另乙個cpp檔案中使用它(記得include):

#include

#include "my_stack.cpp"

using

namespace

std;

int main()

; deque

q;

for(i=0;i<=9;i++)

/*此時佇列裡的內容是: */

q.pop_front();

cout

q.pop_back();

cout

}

執行結果: 6 7

資料結構(2) 棧和佇列

棧的定義 基於棧的一些基本操作 define maxsize 50 typedef struct sqstack 2.順序棧上基本操作的實現 共享棧定義 鏈棧 採取鏈式儲存的棧結構,採用單鏈表來實現,並且限制所有的操作都只能在單鏈表的表頭進行 注意 規定鏈棧中沒有頭結點。特點 可以使多個棧共享儲存空...

資料結構 棧和佇列

棧 基礎 知識棧 練習題 佇列 基礎知識 棧示意圖 後進先出 順序棧結構定義 define maxsize 1024 struct stack 操作函式 push 入棧 pop 出棧 struct lstack 鏈棧示意圖 操作函式 push 入棧 pop 出棧 注意 也可以直接呼叫系統已經寫好的庫...

資料結構 棧和佇列

本章的基本內容是 兩種特殊的線性表 棧和佇列 從資料結構角度看,棧和佇列是操作受限的線性表,他們的邏輯結構相同。從抽象資料型別角度看,棧和佇列是兩種重要的抽象資料型別。p棧 限定僅在表的一端進行插入和刪除操作的線性表。p允許插入和刪除的一端稱為棧頂,另一端稱為棧底。p空棧 不含任何資料元素的棧。a ...