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 |