데이터 구조 (C 언어 구현) 의 스 택 (순서 스 택)

창고 의 표시 와 조작의 실현
데이터 구조 교과서 에 있 는 것 은 모두 위조 코드 로 직접 실행 할 수 없다.
하지만 위조 코드 의 장점 은 많다. 글 쓰기 가 빠르다 는 것 을 이해 하기 쉽다.
사실 조금 만 고치 면 돼 요.
가장 중요 한 것 은 순서 스 택 이라는 데이터 구 조 를 이해 하 는 것 이다.
#include "stdio.h"
#include
#define maxsize 100
#define overflow 1
#define ok 1
#define error 1
#define SElemType int
#define Status int

typedef struct 
{
	SElemType *base;
	SElemType *top;
	int stacksize;
}SqStack;

Status InitStack(SqStack &S)                     //       
{
	//      S
	S.base=new SElemType[maxsize];				//               maxsize     
	if(!S.base) exit(overflow);					//      
	S.top=S.base;								//top   base,  
	S.stacksize=maxsize;						//stacksize        maxsize
	return ok;
}

Status Push(SqStack &S,SElemType e)				//      
{
	//    e       
	if(S.top-S.base==S.stacksize)  return error;//  
	*S.top++=e;									//  e    ,     1
	return ok;
}

Status Pop(SqStack &S,SElemType &e)				//      
{
	if(S.top==S.base) return error;				//  
	e=*--S.top;									//     1,       e
	return ok;
}

SElemType GetTop(SqStack S)						//     
{
	//  S     ,       
	if(S.top!=S.base)							//   
		return *(S.top-1);						//        ,      
}
int main(int argc, char* argv[])
{

	return 0;
}

좋은 웹페이지 즐겨찾기