标题:求问大神们,下面这个栈的操作哪里出问题了???求知识,急,初学者,数据 ...
只看楼主
HZHXH
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-11-6
 问题点数:0 回复次数:1 
求问大神们,下面这个栈的操作哪里出问题了???求知识,急,初学者,数据结构、、、、
SeqStack.h
#ifndef SeqStack_H
#define SeqStack_H

const int StackSize=10;
template<class T>

class SeqStack
{
public:
    SeqStack(){top=-1;}
    ~SeqStack(){}
    void push(T x);
    T pop();
    T GetTop();
    int Empty();
private:
    T data[StackSize];
    int top;
}
#endif

SeqStack.cpp
#include"SeqStack.h"
template <class T>
void SeqStack<T>::push(T x)
{
    int top;
    if(top==StackSize-1)throw"上溢";
    data[++top]=x;
}

template <class T>
T SeqStack<T>::pop()
{
    T x;
    if(top==-1)throw"下溢";
    else
        x=data[top--];
    return x;
}

template <class T>
T SeqStack<T>::GetTop()
{
    if(top==-1)throw"下溢";
    else
        return data[top];
}

template <class T>
int SeqStack<T>::Empty()
{
    if(top==-1)return 1;
    else return 0;
}


MainSeqStack.cpp


#include"SeqStack.cpp"
#include<iostream>
using namespace std;

void main()
{
    SeqStack<int>a;
    cout<<"执行压栈操作:"<<endl;
    try
    {
        a.push(1);
        a.push(2);
        a.push(3);
        a.push(4);
    }
    catch(char* wrong)
    {
        cout << wrong;     //如失败提示失败信息
    }
    cout<<"已经插入“1,2,3,4”"<<endl;
    cout<<"执行判断栈是否为空操作:"<<endl;
    cout<<a.Empty()<<endl;
    cout<<"执行出栈操作:"<<endl;
    cout<<a.pop()<<endl;
    cout<<"弹出栈顶元素:"<<endl;
    cout<<a.GetTop()<<endl;
}
搜索更多相关主题的帖子: private public 知识 
2014-11-06 22:54
HZHXH
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-11-6
得分:0 
问题已解决,谢谢各位
2014-11-08 12:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-438234-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.229659 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved