?? sqstack.h
字號:
//Sequence-Stack class is declared
//SqStack.h
#if !defined (_SQSTACK_H_CPP)
#define _SQSTACK_H_CPP
#if _MSC_VER > 100
#pragma once
#endif
template <class T>
class SqStack{
public:
SqStack(int size=100);
~SqStack(){delete [] stack;}
void ClearStack(void);
bool GetTop(T& e) const;
bool IsEmpty(void) const;
int StackLength(void) const;
bool Push(const T& e);
bool Pop(T& e);
private:
int maxsize;
int top;
T *stack;
};
template <class T>
SqStack<T>::SqStack(int size/*=100*/):top(-1),maxsize(size){
if(!(stack = new T[maxsize]))
exit(1);
}
template <class T>
void SqStack<T>::ClearStack(void){
top=-1;
}
template <class T>
bool SqStack<T>::GetTop(T& e) const{
if(-1 == top) return false;
e = stack[top];
return true;
}
template <class T>
bool SqStack<T>::IsEmpty(void) const{
return -1==top;
}
template <class T>
int SqStack<T>::StackLength(void) const{
return top+1;
}
template <class T>
bool SqStack<T>::Pop(T& e){
if(-1 == top) return false;
e = stack[top];
--top;
return true;
}
template <class T>
bool SqStack<T>::Push(const T& e){
if(top>=maxsize-1) return false;
stack[++top]=e;
return true;
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -