vector int 實現堆疊

2021-07-06 02:07:01 字數 1052 閱讀 2274

這是乙個用鍊錶實現的堆疊,**實現如下:

class stack* head;

public:

stack();

~stack();

void push(void

* dat);

void

* pop();

///:~

#include "stack.h"

#include

//#include "require.h"

using

namespace

std;

stack::link::link(void* dat,link *link)

stack::link::~link(){}

stack::stack()

void stack::push(void* dat)

void* stack::pop()

stack::~stack()

///:~

#include

#include

#include "stack.h"

using

namespace

std;

class ******;

******::******(int m)

; for(int i=0;i<3;i++)

cout

string* s;

while((s=(string*)ss.pop())!=0)

cout

<"pause");

}///:~

心得:

struct 結構可以有建構函式與析構函式,如上面link結構的建構函式link()與析構函式~link(),這裡的析構函式並沒有做清除處理,因為如果在析構函式~link()中做清楚處理,satck::pop()無法得到結果,因為該節點已經被刪除了。

head是struct link*型別的變數,可以初始化為0,即head=0。

鏈式堆疊實現

ifndef stack linked h define stack linked h include include include using namespace std templatestruct node stack templateclass stack linked templates...

堆疊的實現

堆疊 後進先出 基本的操作有 push 入堆 pop 彈出 入堆 將資料放入到堆疊的頂部 彈出 將頂端的資料輸 include include include typedef struct stk stack int stack empty stack stack1 else void push s...

為了堆疊實現

為了堆疊資料結構如下面 typedef struct sqstack 實現下列函式 void initstack sqstack s 初始化棧 void destroystack sqstack s 銷毀棧 int stacklength sqstack s 求棧的長度 int stackempty...