自己動手實現資料結構模板 3 棧和佇列

2021-08-28 15:25:23 字數 815 閱讀 6676

棧和佇列的實現借助了鍊錶。到鍊錶實現方法的鏈結

繼承了dtslist,然後在此基礎上增加了push、pop等函式來入出棧或佇列,增加了返回 棧底和棧頂 或 隊頭和隊尾 的值的函式。

棧:

#ifndef dts_stack_hpp

#define dts_stack_hpp

#include"dtslist.hpp"

template

class dtsstack:public dtslist

dtsstack& push(t val)

t bottom()

~dtsstack()

dtsqueue& push(t val)

t pop()

t front()

t tail()

~dtsqueue()

};#endif

#include"dtsstack.hpp"

#include"dtsqueue.hpp"

int main(){

//棧dtsstack stack;

stack.push(0).push(1).push(2).push(3);

cout<<"top:"《輸出為:

top:3

bottom:0

content:0 1 2 3

3 2 1 0 空棧

front:0

tail:3

content:0 1 2 3

0 1 2 3 空佇列

按任意鍵繼續

資料結構模板 棧

此部落格是存的是我自己編寫的棧模板,如有錯誤請指出棧是操作受限的線性表,只允許在棧頂進行插入和刪除操作,遵循 後進先出 原則。include include define elemtype int define maxsize 1000 using namespace std 這是順序棧的模板 ty...

c 資料結構 模板類重寫棧

模板重寫棧的基本操作,不多說,上 不足之處,麻煩大神指點。基本操作如下 bool is empty my stack a 是否為空棧 t gettop my stack a 獲取棧頂元素 void stack push my stack a,t b 入棧 t stack pop my stack a...

資料結構模板 佇列

此部落格是存的是我自己編寫的佇列模板,如有錯誤請指出佇列是操作受限的線性表,只允許在隊頭進行刪除操作,在隊尾進行插入操作,遵循 先進先出 原則。順序隊 存在假溢位問題 include include define elemtype int define maxsize 1000 using name...