[ create a new paste ] login | about

Link: http://codepad.org/iA8NfWWW    [ raw code | output | fork ]

박정욱 - C, pasted on May 7:
#include<stdio.h>
#include<stdlib.h>

#define MAX_STACK_SIZE 10

typedef int element;
typedef struct 
{	element stack[MAX_STACK_SIZE];
	int top;
} StackType;

void init(StackType *s);					// 스택 초기화 함수
int is_empty(StackType *s);					// 공백 상태 검출 함수
int is_full(StackType *s);					// 포화 상태 검출 함수
void push(StackType *s, element item);		// 삽입함수
element pop(StackType *s);					// 삭제함수
element peek(StackType *s);					// 피크함수


int main()
{
	StackType *a;
	element first=1;

	
	printf("1\n");
	init();
	printf("2\n");
	push(a, first);
	printf("3\n");
	peek(a);
	printf("4\n");
	

	4/2-3/4+3*2

	42/34/-32*+

	pop(a);
	printf("5\n");
	is_full(a);
	printf("6\n");
	is_empty(a);
	printf("7\n");
	return 0;
}



// 스택 초기화 함수
void init(StackType *s)
{	s->top = -1;		};

// 공백 상태 검출 함수
int is_empty(StackType *s)
{	return (s->top == -1);	};

// 포화 상태 검출 함수
int is_full(StackType *s)
{	return (s->top == (MAX_STACK_SIZE-1));	};

// 삽입함수
void push(StackType *s, element item)
{	if( is_full(s) ) 
	{	fprintf(stderr,"스택 포화 에러\n");
		return;
	}
	else 
		s->stack[++(s->top)] = item;
};

// 삭제함수
element pop(StackType *s)
{	if( is_empty(s) ) 
	{
		fprintf(stderr, "스택 공백 에러\n");
		exit(1);
	}
	else 
		return s->stack[(s->top)--];
};

// 피크함수
element peek(StackType *s)
{
	if( is_empty(s) ) 
	{	fprintf(stderr, "스택 공백 에러\n");
		exit(1);
	}
	else
		return s->stack[s->top];
};


Output:
1
2
3
In function 'main':
Line 27: error: too few arguments to function 'init'
Line 37: error: expected ';' before numeric constant


Create a new paste based on this one


Comments: