第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

具體實(shí)現(xiàn)代碼@數(shù)據(jù)結(jié)構(gòu)探險(xiǎn)—棧篇 2-4

標(biāo)簽:
C++

具体实现代码@数据结构探险—栈篇 2-4
有需要的自取。


file:MyStack.hpp

#ifndef MyStack_hpp
#define MyStack_hpp

#include <stdio.h>

class MyStack{
public:
    MyStack(int size);
    ~MyStack();
    bool stackFull();
    bool stackEmpty();
    void clearStack();
    int stackLength();
    bool push(char elem);
    bool pop(char &elem);
    void stackTraverse(bool isFromBottom);
private:
    char *m_pBuffer;
    int m_iSize;
    int m_iTop;

};

#endif /* MyStack_hpp */

file:MyStack.cpp

#include "MyStack.hpp"
#include <iostream>

using namespace std;

MyStack::MyStack(int size){
    m_iSize = size;
    m_pBuffer = new char[m_iSize];
    m_iTop = 0;
}

MyStack::~MyStack(){
    delete []m_pBuffer;
    m_pBuffer = NULL;
}

bool MyStack::stackFull(){
    return m_iTop==m_iSize?true:false;
}

bool MyStack::stackEmpty(){
    return m_iTop==0?true:false;
}

void MyStack::clearStack(){
    m_iTop = 0;
}

int MyStack::stackLength(){
    return m_iTop;
}

bool MyStack::push(char elem){
    if(stackFull()){
        return false;
    }
    else{
        m_pBuffer[m_iTop] = elem;
        m_iTop++;
        return true;
    }
}

bool MyStack::pop(char &elem){
    if(stackEmpty()){
        return false;
    }
    else{
        m_iTop--;
        elem = m_pBuffer[m_iTop];
        return true;
    }

}

void MyStack::stackTraverse(bool isFromBottom){
    if(isFromBottom){
        for(int i =0;i < m_iTop;i++) {
            cout << m_pBuffer[i] << endl;
        }
    }
    else{
        for(int i = m_iTop-1;i >=0;i--){
            cout << m_pBuffer[i] << endl;
        }
    }
}

file demo.cpp

#include <iostream>
#include <string>
#include "MyStack.hpp"

using namespace std;

int main(void){
    MyStack *pStack = new MyStack(5);

    pStack->push('a');
    pStack->push('e');
    pStack->push('i');
    pStack->push('o');
    pStack->push('u');

    pStack->stackTraverse(true);

    char elem = 0;
    pStack->pop(elem);
    cout << elem << endl;

    cout << pStack->stackLength() << endl;

    pStack->stackTraverse(true);

    pStack->clearStack();

    if(pStack->stackEmpty()){
        cout << "栈为空" << endl;
    }

    if(pStack->stackFull()){
        cout << "栈为满" << endl;
    }

    delete pStack;
    pStack = NULL;

}
點(diǎn)擊查看更多內(nèi)容
2人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消