#include <iostream>
using namespace std;

//template <class DataType>
struct Node {
	int data;
	struct Node* next;
};
class LinkStack {
private:
	Node* top;
public:
	LinkStack();
	~LinkStack();
	void push(int x);
	int pop();
	int getpop();
	bool isEmpty();
 };
LinkStack::LinkStack() {
	top = NULL;
}
LinkStack::~LinkStack() {
	while (top != NULL) {
		Node* s = top;
		top = top->next;
		delete(s);
	}
}
void LinkStack::push(int x) {
	Node* s1;
	s1 = new Node;
	s1->data = x;
	s1->next = top;
	top = s1;
}
int LinkStack::pop() {
	int x;
	x = top->data;
	top = top->next;
	return x;
}
int LinkStack::getpop() {
	int x;
	x = top->data;
	return x;
}
bool LinkStack::isEmpty() {
	if (top == NULL)
		return 1;
	else
		return 0;
}
int main() {
	LinkStack st;
	st.push(1);
	st.push(2);
	st.push(3);
	int x1=st.getpop();
	cout << x1 << endl;
	st.pop();
	st.pop();
	st.isEmpty();
	st.pop();
	st.isEmpty();
}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐