📄 s_stack.h
字号:
//?:(002)s_stack.h
//:S_STACK.H class file define
#ifndef S_STACK_H
#define S_STACK_H
template<class T>
class s_stack
{
struct s_node
{
T data;
s_node *next;
s_node(T dat,s_node* nxt)
{
data=dat;
next=nxt;
}
~s_node(){};
}*head;
public:
s_stack();
void stack_push(T data);
T stack_pop(void);
bool stack_not_empty();
~s_stack();
};
template<class T>
s_stack<T>::s_stack()
{
head=0;
}
template<class T>
void s_stack<T>::stack_push(T data)
{
head=new s_node(data,head);
}
template<class T>
bool s_stack<T>::stack_not_empty()
{
if (head!=0) return true;
return false;
}
template<class T>
T s_stack<T>::stack_pop(void)
{
if (head==0) return 0;
T result=head->data;
s_node* oldhead=head;
head=head->next;
delete oldhead;
return result;
}
template<class T>
s_stack<T>::~s_stack()
{
s_node *oldhead,*tmphead;
oldhead=head;
while(oldhead!=0)
{
tmphead=oldhead;
oldhead=oldhead->next;
delete tmphead;
}
}
#endif
//:End the s_stack class file define
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -