프로그래밍/C

스택 C언어 코드

swedu 2023. 2. 21. 07:04
728x90
반응형

2023.02.21  최초 작성

 

#include <stdio.h>
#include <stdlib.h>
#define MAX_STACK_SIZE 10
typedef int element;	
element  stack[MAX_STACK_SIZE];
int  top = -1;

// 공백 상태 검출 함수
int is_empty()
{
	return (top == -1);
}
// 포화 상태 검출 함수
int is_full()
{
	return (top == (MAX_STACK_SIZE - 1));
}
// 삽입 함수
void push(element item)
{
	if (is_full()) {
		fprintf(stderr, "스택이 가득 찼습니다.\n");
		return;
	}
	else stack[++top] = item;
}
// 삭제 함수
element pop()
{
	if (is_empty()) {
		fprintf(stderr, "스택이 비어있습니다.\n");
		exit(1);
	}
	else return stack[top--];
}
// 피크 함수
element peek()
{
	if (is_empty()) {
		fprintf(stderr, "스택이 비어있습니다.\n");
		exit(1);
	}
	else return stack[top];
}

int main(void)
{
	push(1);
	printf("peek : %d\n", peek());
	push(2);
	printf("peek : %d\n", peek());
	push(3);
	printf("peek : %d\n", peek());
	push(4);
	printf("peek : %d\n", peek());
	printf("POP %d\n", pop());
	printf("peek : %d\n", peek());
	printf("POP %d\n", pop());
	printf("peek : %d\n", peek());
	printf("POP %d\n", pop());
	printf("peek : %d\n", peek());
	return 0;
}

 

 

728x90
반응형

 

728x90
반응형

'프로그래밍 > C' 카테고리의 다른 글

원형 큐 C언어 코드  (0) 2023.02.22
연결 리스트 C언어 코드  (0) 2023.02.22
버블 정렬 C언어 코드  (0) 2023.02.16
선택 정렬 C언어 코드  (0) 2023.02.16
병합 정렬 C언어 코드  (0) 2023.02.16