창고 의 기본 조작 (체인 창고 순서 창고)

2057 단어 데이터 구조
스 택 은 데이터 구조의 중요 한 부분 으로서 어렵 지 않 지만 많은 복잡 한 문 제 를 해결 하 는 데 매우 중요 한 역할 을 한다. 스 택 의 논리 구 조 는 순서 나 체인 순서 에 대응 하 는 것 은 배열 실현 과 지침 실현 이 여기 서 해당 하 는 소스 코드 를 제시 하고 블 로 거들 은 대상 을 대상 으로 실현 하 는 것 이다.
1. 체인 창고
#include 
using namespace std;
class node{
	public:
	int data;
	node* next;
};
class stack  //           
{
	public:
		stack();
		~stack();
		bool empty();
		void pushstack(int );
		void popstack();
		void gettop();
		void printstack();
	private:
		node* top;
	protected:
};
stack::stack()
{
	top->next=NULL;
}
stack::~stack()//         
{
	node* p=new node;
	node* q=top->next;
	while(q){
		p=q;
		q=q->next;
		delete p;
	}
}
bool stack::empty()//  
{
	if(top->next==NULL)
		return true;
	return false;
}
void stack::gettop()//      
{
	if(empty())
		cout<next->data<data=a;
	p->next=top->next;
	top->next=p;
}
void stack::popstack()  //  
{
	if(empty())
		cout<next;
	top->next=q->next;	
}	
void stack::printstack()
{
	node* p=top->next;
	while(p){
		cout<data;
		p=p->next;
	}
}
	
int main(int argc, char** argv) {
	stack A;
	int num;
	cin>>num;
	while(num!=-1)     //       -1    
	{
		A.pushstack(num);
		cin>>num;
	}
	A.printstack();   //      
	return 0;
}	

2. 순서 스 택 은 배열 로 이 루어 집 니 다.
#define maxsize 100
#include 
using namespace std;
class stack
{
public:
	stack();
	~stack();
	void pushstack(int) ;
	void popstack();
	bool is_empty();
	bool is_full();
	int gettop();
	void printstack();
private:
	int top;
	int data[maxsize];
};
bool stack::is_empty()
{
	if(top == -1)
		return true;
	return false;
}
bool stack::is_full()
{
	if(top == maxsize-1)
		return true;
	return false;
}
void stack::pushstack(int a)
{
	if(is_full()){
		cout<=0;){
		cout<>num;
	while(num != -1){
		A.pushstack(num);
		cin>>num;
	}
	A.printstack();
	return 1;
	 
}

좋은 웹페이지 즐겨찾기