欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c++和数据结构 模拟栈的入栈和出栈

程序员文章站 2022-04-14 10:16:24
c++学了类 老师就让写了这个、、、 #include #include using namespace std; class stack { public: void p...

c++学了类 老师就让写了这个、、、

#include 
#include 
using namespace std;
class stack
{
	public:
		void push(int x);
		void init();
		int pop();
		struct stack
		{
			int num;
			stack *next ,*pre;
		}*head;
};
//初始化栈顶 
void stack::init()
{
	head=(struct stack *)malloc(sizeof(struct stack));
	head->num=-1;
	head->next=null;
	head->pre=null;
}
//入栈 
void stack::push(int x)
{
	stack *p;
	p=(struct stack *)malloc(sizeof(struct stack));
	head->next=p;
	p->pre=head;
	head=p;
	head->num=x;
}
//出栈 
int stack::pop()
{
	if(head->pre!=null)
	{
		int x=head->num;
		head=head->pre;
		head->next=null;
		return x; 

	}
	else
	{
		return 0x3fffffff;
	}
}
int main()
{ 
	stack s;
	s.init();
	while(true)
	{
		cout<<"向栈中添加元素请按1,取出栈顶元素请按2,退出请按3"<>x;
		if(x==1)
		{
			int y;
			cout<<"请输入入栈的元素:";
			cin>>y;
			s.push(y);
			cout<<"入栈成功!!"<
运行结果:

 

c++和数据结构 模拟栈的入栈和出栈