c 棧的實現

2021-06-04 12:14:06 字數 1929 閱讀 5066

//棧的實現

//供學習c++人員使用

#define stack_size 10000                        //巨集定義

#include//標頭檔案

using namespace std;

template

struct node

//無引數的的建構函式

node(elemtypeitem,node*link=null)//已知資料元素值和指標建立結點

};

template

class stack

//建構函式

virtual~stack(){}                      //析構函式

virtualbool push(const elemtype &e)=0; //入棧

virtualbool pop(elemtype &e)=0;        //出棧

virtualbool gettop(elemtype &e)const=0;//取棧頂元素

}; //順序棧類模板

template

class sqstack:public stack

//建構函式

~sqstack(){}                            //析構函式

boolpush(const elemtype &e)            //入棧

} boolpop(elemtype &e)                   //出棧

} boolgettop(elemtype &e)const           //取棧頂元素

} };

template

class linkstack:public stack

//建構函式

~linkstack()                            //析構函式

boolpush(const elemtype &e)                //入棧

boolpop(elemtype &e)                       //出棧

} boolgettop(elemtype &e)const               //取棧頂元素

} };

int main()

while(select!=1&&select!=2);

if(select==1) 

pstack=newsqstack;

elsepstack=new linkstack;

while(select!=5)

break;

case2:                             //入棧

cout<<"輸入元素值:";

cin>>e;                         //輸入e

pstack->push(e);                //入棧

break;

case 3:                             //出棧

pstack->pop(e);                 //出棧操作

cout<<"棧頂元素值為"《輸出棧頂元素

break;

case4:                             //取棧頂

pstack->gettop(e);              //取棧頂操作

cout<<"棧頂元素值為"《取出棧頂元素

break; }

} deletepstack;                              //釋放訪問空間

system("pause");

return 0;

}

C 棧的實現

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

棧的C 實現

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

棧的C 實現

眾所周知,棧是一種最常用的資料結構,棧在實現上可以用陣列和結構體來實現,下面用結構體來實現棧。考慮到資料型別的通用性,這裡使用模板進行編寫,便於以後的學習過程中進行使用,不了解模板的同學,可以去網上了解一下c 的模板的使用。這裡有一篇關於c 模板類的部落格,可以先了解一下 c 模板詳解 好了,下面開...