鏈棧(C 模板實現)

2021-09-17 01:19:18 字數 2002 閱讀 6692

templatestruct node;

templateclass stack;

#ifndef _queue_h_

#define _queue_h_

#include using namespace std;

templatestruct lnode;

templateclass queue;

//初始化乙個佇列

templatequeue< elementtype>::queue()

//銷毀佇列

templatequeue< elementtype>::~queue()

}//判斷是否隊空

templatebool queue< elementtype>:: empty()

else

}//入隊

templatevoid queue< elementtype>::enter( elementtype x)

else

}//出隊

templatevoid queue< elementtype>::out()

else

}}//取隊頭元素

templatevoid queue< elementtype>::getfront(elementtype &x)

}//求當前佇列中元素個數

templateint queue< elementtype>:: getlength()

return i;

}//遍歷佇列

templatevoid queue::print()

}#endif // _queue_h_

#ifndef _liststack_h_

#define _liststack_h_

#include using namespace std;

templatestruct node;

templateclass stack;

//初始化棧

templatestack::stack()

//銷毀棧

templatestack::~stack()

} //判斷棧是否為空

templatebool stack::empty()

else

}//壓棧

templatevoid stack::push(elementtype x)

//出棧

templatebool stack::pop(elementtype &x)

else

}//取棧頂元素

templateelementtype stack::top()

else

}//遍歷棧

templatevoid stack::print()

}#endif // _liststack_h_

#include #include #include #include "liststack.h"

#include "queue.h"

using namespace std;

//1.輸出函式

C 類模板實現順序棧

棧的抽象類的定義 template class stack 順序棧類的定義 include stack.h template class seqstack public stack 順序棧類的實現 include using namespace std template seqstack seqst...

棧的簡介及C 模板實現

2.基於陣列的棧實現 3.基於單鏈表的棧 棧 stack 是一種線性儲存結構,它具有如下特點 在壓棧的過程中,棧頂的位置一直在 向上 移動,而棧底是固定不變的。在彈棧的過程中,棧頂位置一直在 向下 移動,而棧底一直保持不變。棧的常用操作為 棧既然是一種線性結構,就能夠以陣列或鍊錶 單向鍊錶 雙向鍊錶...

C 鏈棧模板類實現

pragma once template class mystack void push back t val t pop stacknode top const int size const return count bool isempty void freenode stacknode nod...