Type: Default 1000ms 256MiB

MyStack

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

Description

  完成MyStack类

注意:提交的是以下代码,而不是MyStack.h!所完成的内容与本地环境完全相同,对应函数的内容复制填入即可

  请在下述代码基础上进行实现,完成几个函数后提交

#include "MyStack.h"


// 判断栈空, 若为空栈,则Empty()返回true;否则返回false
bool MyStack::Empty() {
    //请在这里完成你的代码
}

// 判断栈满,若栈满,则Full()为true;否则为false
bool MyStack::Full() {
    //请在这里完成你的代码
}

// 元素e进栈,若栈满,则无法成功插入,插入成功返回true,否则返回false
// @param
// e: 将要入栈的元素
bool MyStack::Push(ElementType e) {
    //请在这里完成你的代码
}

// 栈的顶元素拷贝到e,若栈为空,则无法拷贝,返回false,成功拷贝则返回true
// @param
// e: 指向存放栈顶元素地址的指针
bool MyStack::Gettop(ElementType &e) {
    //请在这里完成你的代码
}

// 删除栈s的顶元素,并将删除的元素赋给e带出,若栈空,则无法成功删除,删除成功返回true,否则返回false
// @param
// e: 指向存放出栈元素地址的指针
bool MyStack::Pop(ElementType &e) {
    //请在这里完成你的代码
}

Notes

MyStack.hMyStack 类如下所示

#define MAXLENG 100

typedef int ElementType;
using namespace std;

/*
    用数组模拟的顺序栈类
    采用静态分配的方式实现
    请参考ppt 第二讲 栈&队列 中如下页面:
    5-11’ 15-18‘
*/
class MyStack {
    public:
        ElementType elem[MAXLENG]; // 模拟栈的静态数组
        int top; // 栈顶指针, 注意本实现的顶元素为elem[top]!

        // 初始化静态栈
        // 本函数不需修改
        void Initstack() {
            memset(elem, -1, sizeof elem);
            top = -1;
        }

        // 判断栈空, 若为空栈,则Empty()返回true;否则返回false
        bool Empty();

        // 判断栈满,若栈满,则Full()为true;否则为false
        bool Full();

        // 元素e进栈,若栈满,则无法成功插入,插入成功返回true,否则返回false
        // @param
        // e: 将要入栈的元素
        bool Push(ElementType e);

        // 栈的顶元素拷贝到e,若栈为空,则无法拷贝,返回false,成功拷贝则返回true
        // @param
        // e: 指向存放栈顶元素地址的指针
        bool Gettop(ElementType &e);

        // 删除栈s的顶元素,并将删除的元素赋给e带出,若栈空,则无法成功删除,删除成功返回true,否则返回false
        // @param
        // e: 指向存放出栈元素地址的指针
        bool Pop(ElementType &e);
};

实验一 栈、队列与基本排序

Not Claimed
Status
Done
Problem
7
Open Since
2024-9-28 14:30
Deadline
2024-9-28 18:00
Extension
96 hour(s)