?? seqstack.cpp
字號:
//SeqStack.cpp
#include "SeqStack.h"
/*
* 前置條件:棧不存在
* 輸 入:無
* 功 能:棧的初始化
* 輸 出:無
* 后置條件:構造一個空棧
*/
template <class T>
SeqStack<T>::SeqStack( )
{
top=-1;
}
/*
* 前置條件:棧已存在
* 輸 入:無
* 功 能:銷毀棧
* 輸 出:無
* 后置條件:釋放棧所占用的存儲空間
*/
template <class T>
SeqStack<T>::~SeqStack( )
{
}
/*
* 前置條件:棧已存在
* 輸 入:元素值x
* 功 能:在棧頂插入一個元素x
* 輸 出:如果插入不成功,拋出異常
* 后置條件:如果插入成功,棧頂增加了一個元素
*/
template <class T>
void SeqStack<T>::Push(T x)
{
if (top== StackSize-1) throw "上溢";
top++;
data[top]=x;
}
/*
* 前置條件:棧已存在
* 輸 入:無
* 功 能:刪除棧頂元素
* 輸 出:如果刪除成功,返回被刪元素值,否則,拋出異常
* 后置條件:如果刪除成功,棧頂減少了一個元素
*/
template <class T>
T SeqStack<T>::Pop( )
{
T x;
if (top==-1) throw "下溢";
x=data[top--];
return x;
}
/*
* 前置條件:棧已存在
* 輸 入:無
* 功 能:讀取當前的棧頂元素
* 輸 出:若棧不空,返回當前的棧頂元素值
* 后置條件:棧不變
*/
template <class T>
T SeqStack<T>::GetTop( )
{
if (top!=-1)
return data[top];
}
/*
* 前置條件:棧已存在
* 輸 入:無
* 功 能:判斷棧是否為空
* 輸 出:如果棧為空,返回1,否則,返回0
* 后置條件:棧不變
*/
template <class T>
bool SeqStack<T>::Empty( )
{
if(top==-1) return 1;
else return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -