一。创建栈类
typedef int VAL_;
class CStock {
private:
typedef struct Node {
VAL_ val;
struct Node* next;
}Node;
Node* Head;
Node* Now;
int num;
public:
CStock()
{
Head = Now = nullptr;
num = 0;
}
void Push(VAL_ x);//入元素
void Pop();//出元素
VAL_ ReT();//返回栈顶元素
};
二。函数实现
void CStock::Push(VAL_ x)
{
Node* newnode = new Node;
newnode->next = nullptr;
newnode->val = x;
num++;
if (!Head)
Head = newnode;
else
Now->next = newnode;
Now = newnode;
}
void CStock::Pop()
{
if (!num)
{
cout << "empty" << endl;
return;
}
else
{
Node* p = Head;
Head = Head->next;
num--;
delete p;
}
}
VAL_ CStock::ReT()
{
if (!num)
{
cout << "empty" << endl;
return;
}
return Head->val;
}