亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++堆棧類模板實現代碼

2020-05-23 13:22:09
字體:
來源:轉載
供稿:網友

最近在復習數據結構,涉及到堆棧的實現,通過類模板可以使堆棧的存儲數據類型更為靈活,下面是堆棧的實現代碼:

#ifndef MYSTACK_H#define MYSTACK_H#include <iostream>using namespace std; template <typename T>class MyStack{public: MyStack(int size); ~MyStack(); bool stackEmpty();//判空 bool stackFull();//判滿 void clearStack();//清空 int stackLength();//長度 bool push(T elem);//壓棧 bool pop(T &elem);//出棧 bool stackTop(T &elem);//返回棧頂 void stackTranverse();//遍歷棧 private: T *m_pStack;//棧指針 int m_iSize;//棧容量 int m_iTop;//棧頂}; template <typename T>MyStack<T>::MyStack(int size){ m_iSize = size; m_pStack = new T[m_iSize]; m_iTop = 0;}template <typename T>MyStack<T>::~MyStack(){ delete m_pStack; m_pStack = NULL;}template <typename T>bool MyStack<T>::stackEmpty() {//判空 return m_iTop == 0 ? true : false;}template <typename T>bool MyStack<T>::stackFull() {//判滿 return m_iTop == m_iSize ? true : false;}template <typename T>int MyStack<T>::stackLength() {//棧長度 return m_iTop;}template <typename T>void MyStack<T>::clearStack() {//清空 m_iTop = 0;}template <typename T>bool MyStack<T>::push(T elem) {//壓棧 if (stackFull()) { return false; } else { m_pStack[m_iTop++] = elem; return true; }}template <typename T>bool MyStack<T>::pop(T &elem) {//出棧 if (stackEmpty()) { return false; } else { elem = m_pStack[--m_iTop]; return true; }}template <typename T>bool MyStack<T>::stackTop(T &elem) {//返回棧頂元素 if (stackEmpty()) { return false; } else { elem = m_pStack[m_iTop-1]; return true; }}template <typename T>void MyStack<T>::stackTranverse() {//遍歷棧 int i = 0; for (i = 0; i < m_iTop; i++) { cout << m_pStack[i]; }}#endif

其中需要注意的是類模板需要在每個函數之前寫上模板定義template <typename T>,并且將類名寫成MyStack<T>,函數中涉及到類的使用時用T代替即可。

接著我用一個坐標點類Coordinate來做測試:

在Coordinate類中利用函數重載運算符<<實現坐標點的打印

#include <ostream>using namespace std; class Coordinate{public: friend ostream& operator<<(ostream &out, Coordinate &coor); Coordinate(int x=0,int y=0) { m_iX = x; m_iY = y; }  ~Coordinate() { }private: int m_iX; int m_iY;};ostream& operator<<(ostream &out, Coordinate &coor) { out << "(" << coor.m_iX << "," << coor.m_iX << ")" << endl; return out;}

下面是測試主函數:

#include <iostream>#include "MyStack.h"#include "Coordinate.h"using namespace std; int main() { MyStack<Coordinate> *pStack = new MyStack<Coordinate>(5);   pStack->push(Coordinate(3, 5));//坐標點入棧 pStack->push(Coordinate(7, 5)); pStack->push(Coordinate(6, 5)); pStack->push(Coordinate(4, 5)); pStack->push(Coordinate(3, 5));  pStack->stackTranverse();//遍歷棧 Coordinate t; pStack->pop(t);//出棧 cout <<"彈出的t為:"<< t ; cout << "長度:" << pStack->stackLength(); pStack->clearStack();//清空棧 pStack->stackTranverse();   //delete pStack; //pStack = NULL;  system("pause"); return 0;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久综合五月天| 欧美日韩午夜视频在线观看| 91免费在线视频网站| 欧美在线视频一区二区| 欧美日韩成人精品| 亚洲精品91美女久久久久久久| 欧美日韩一区二区三区| 久久成人在线视频| 亚洲第一福利网| 国产精品久久99久久| 日韩在线免费高清视频| 夜夜嗨av一区二区三区免费区| 亚洲国产私拍精品国模在线观看| 成人性生交大片免费看小说| 日韩中文字幕网址| 亚洲午夜小视频| 欧美黑人一级爽快片淫片高清| 国产精品成久久久久三级| 久久色精品视频| 伊人久久久久久久久久| 一区二区三区四区在线观看视频| 亚洲bt天天射| 日韩高清有码在线| 91久久精品日日躁夜夜躁国产| 欧美激情综合亚洲一二区| 97视频在线观看亚洲| 日韩精品一区二区三区第95| 欧美成人午夜激情视频| 国产精品久久久久久一区二区| 午夜精品一区二区三区在线| www.国产精品一二区| 国产97在线播放| 一本色道久久88综合亚洲精品ⅰ| 亚洲护士老师的毛茸茸最新章节| 亚洲男人第一网站| 亚洲第一黄色网| 久久久久久久久久亚洲| 国产精品成人一区二区三区吃奶| 日韩精品在线免费| 欧美丝袜一区二区| 亚洲免费电影在线观看| 久久精品99无色码中文字幕| 中文字幕国产精品| 国产成人精品久久二区二区| 亚洲成人av中文字幕| 欧美老女人性生活| 国产精品久久久久久久久久东京| xxx欧美精品| 7m第一福利500精品视频| 午夜精品一区二区三区在线视| 久久免费精品日本久久中文字幕| 日韩在线视频二区| 成人免费观看网址| 亚洲精品免费一区二区三区| 日本免费一区二区三区视频观看| 日韩中文综合网| 日韩精品中文字幕久久臀| 久久久成人的性感天堂| 欧美一区视频在线| 日本一欧美一欧美一亚洲视频| 日韩成人在线视频观看| 国产精品美女www爽爽爽视频| 成人黄色免费在线观看| 狠狠色噜噜狠狠狠狠97| 日本一区二区不卡| 亚洲精品视频播放| 亚洲一区二区福利| 成人妇女淫片aaaa视频| 久热精品在线视频| 亚洲视频国产视频| 在线亚洲欧美视频| 亚洲精品免费在线视频| 中文字幕精品网| 午夜精品久久久久久99热软件| 久久久久久亚洲精品中文字幕| 91免费人成网站在线观看18| 久久久免费在线观看| 日韩欧美在线中文字幕| 国产精品高潮呻吟久久av野狼| 欧美激情免费看| 91九色视频在线| 亚洲欧美在线磁力| 国产成人午夜视频网址| 91色琪琪电影亚洲精品久久| 亚洲欧洲日本专区| 91中文字幕在线| 久久中文字幕在线视频| 亚洲美女精品久久| 国产成人久久精品| 国产精品第一区| 中文字幕成人精品久久不卡| 日韩成人av一区| 亚洲天堂第一页| 欧美制服第一页| 亚洲最新在线视频| 97精品国产97久久久久久春色| 欧美日韩免费区域视频在线观看| 国产精品一二三视频| 国产婷婷色综合av蜜臀av| 国产精品直播网红| 亚洲欧美日韩网| 超碰精品一区二区三区乱码| 国模视频一区二区| 久久精品国产欧美亚洲人人爽| 青草成人免费视频| 国产精品尤物福利片在线观看| 亚洲国产婷婷香蕉久久久久久| 日韩av在线免费| 亚洲国产女人aaa毛片在线| 亚洲天堂影视av| 国产精品爽爽爽| 亚洲成人精品视频在线观看| 久久精品视频在线| 国产激情综合五月久久| 成人黄色午夜影院| 色婷婷综合久久久久| 欧美国产日韩视频| 成人久久久久久| 亚洲人成人99网站| 中文字幕av一区中文字幕天堂| 亚洲女人天堂网| xxxxxxxxx欧美| 国产精品久久一区主播| 欧美日韩成人网| 亚洲精品一区二区三区婷婷月| 日韩在线观看你懂的| 国产一区二区黑人欧美xxxx| 91在线观看免费| 欧美另类交人妖| 成人福利在线视频| 欧美另类在线观看| 日韩欧美一区二区在线| 亚洲视频电影图片偷拍一区| 欧美精品在线观看91| 欧美精品免费播放| 国产精品久久中文| 国产精品自拍视频| 午夜免费在线观看精品视频| 国产精品极品尤物在线观看| 亚洲男人天堂手机在线| 亚洲美女又黄又爽在线观看| 最近2019好看的中文字幕免费| 91精品国产成人| 中文字幕不卡在线视频极品| 国产成人一区二区在线| 久久国产精品久久久| 国模叶桐国产精品一区| 亚洲欧美在线一区二区| 亚洲精品美女在线观看| 全亚洲最色的网站在线观看| 国产日韩欧美中文在线播放| 欧美性猛交xxxx黑人| 午夜精品久久久久久久99热浪潮| 日韩欧美在线国产| 久久亚洲成人精品| 欧美午夜激情在线| 久久精品国产电影| 久久精品2019中文字幕| 91亚洲精华国产精华| 久久亚洲精品网站| 91成人免费观看网站| 国产一区二区三区三区在线观看| 97色在线视频观看| 日韩综合视频在线观看|