C 棧的實現

2021-07-30 11:38:26 字數 1198 閱讀 1822

摘要:用c++模板實現乙個原始棧的操作,包括插入,刪除,判空,清空,取棧頂元素,取棧長度

關鍵字:c++ ,stack

使用c++模板類實現了乙個原始棧,功能有:清空棧,判空,取棧頂元素,插入,刪除,取棧長度,支援基本的資料型別和自定義的資料型別,但是沒有做異常處理。

**如下

/*!

* \file stack.cpp

* \date 2017/04/13 8:40

* * \author 甘超浩

* contact: [email protected]

* * \brief 使用模板來實現乙個簡單棧,支援基本資料型別和自定義資料型別

* * todo: 異常捕捉

* * \note

*/

#include 

#include

#define max_stacksize 50

using

namespace

std;

template

struct

stack

;template

void

stack

::clearstack()

template

bool

stack

::stackempty()

template

intstack

::gettop(t & e)

e = this->data[s.top];

return1;}

template

void

stack

::push(t e)

this->top++;

this->data[this->top] = e;

}template

t stack

::pop()

t e = this->data[this->top];

this->top--;

return e;

}template

intstack

::stacklength()

void test_stack(void)

結果截圖如下:

C 棧的實現

2009 04 15 11 40 順序棧 seqential stack 就是用順序儲存方式儲存的棧。在下面順序棧的類定義中是用陣列儲存的。用stacka maxsize 儲存,maxsize是最大允許存放元素的個數。變數top表示棧頂部元素的位置,初始值為 1,表示棧空.我們首先給出順序棧的抽象資...

c 棧的實現

棧的實現 供學習c 人員使用 define stack size 10000 巨集定義 include 標頭檔案 using namespace std template struct node 無引數的的建構函式 node elemtypeitem,node link null 已知資料元素值和指...

棧的C 實現

棧的特點是先進後出 lifo 就像一疊盤子一樣,你只能從最上面取。這裡介紹幾個基本的功能 是否為空棧 empty 新增乙個元素 push 取最頂元素 top 彈出乙個元素 pop 輸出棧中的元素 out c 中有棧容器,用到時只需 include即可。這裡,我們自己建立乙個棧類,乙個int型的棧,再...