STL的簡單實現 一 棧

2021-08-20 09:53:14 字數 1063 閱讀 6562

目前暫不支援動態大小,支援指定大小與預設大小,主要包含元素的插入,棧頂的訪問與彈出,首尾位址的獲取

/* 模擬棧的基本實現*/

#ifndef __stack__

#define __stack__

#include

using namespace std;

#include

#include

using namespace std;

template

class stack ;

template

stack::stack(int n)

template

stack::stack()

template

stack::~stack()

delete stack;  cout << "棧已清除\n"; stack = null; }

template

type stack::pop()

if (top == -1)

top--;

return stack[top + 1]; }

template

type stack::front()

if (top == -1)

return stack[top]; }

template

void stack::insert(type num)

if (top == max - 1)

cout << "insert stack successful  the num is " << num << endl;

stack[++top] = num; }

template

int stack::size()

return top + 1;

}  //棧的元素個數

template

bool stack::empty()

template

void stack::clear()

#endif //stack

功能相對簡陋,有改進的意見,歡迎各路大神提出.

C 實現的棧 非STL

棧的實現 包括 動態擴容 刪除 遍歷 插入元素?模板類 整就完事了 就沒用stl了 棧 include包括的標頭檔案就是常見的標頭檔案 就不再新增了 template typename t class stack stack void pushelem t a t popelem void show...

STL 簡單 vector 的實現

stl 簡單 vector 的實現 我用vs2013寫的程式 github vector版本的 位於 我是照著侯捷老師的 stl原始碼剖析 做的cghstl,現在才看到第三章,覺得這本書的編排非常適合自學。第一章講解空間配置器,這是stl最基礎的部件,沒什麼好說的。第二章講解迭代器,老師舉了單向鍊錶...

棧的簡單實現

設棧採用順序儲存結構 用動態陣列 請編寫棧的各種基本操作的實現函式 棧的動態陣列順序儲存結構可定義如下 struct stack 棧的基本操作可包括 void initstack stack s 構造乙個空棧 s int emptystack stack s 若棧s 為空棧返回 1,否則返回0 vo...