程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> c++和數據結構 模擬棧的入棧和出棧

c++和數據結構 模擬棧的入棧和出棧

編輯:關於C++

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<<"入棧成功!!"<
運行結果:

 

\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved