0
点赞
收藏
分享

微信扫一扫

C++栈的实现

月半小夜曲_ 2022-03-11 阅读 73

一。创建栈类

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;
}

举报

相关推荐

c++实现顺序栈

c++类实现栈

c++链栈基本操作实现

【C++】模拟实现栈和队列

c++实现栈和队列类

单调栈 实现思想及c++代码

栈(C实现)

0 条评论