반응형
#include <stdio.h>
#include <stdbool.h>
#define STACKSIZE 10
int top = -1;
bool isEmpty(void)
{
return top == -1;
}
bool isFull(void)
{
return top == STACKSIZE - 1;
}
void push(int* stack, int data)
{
if (!isFull())
{
stack[++top] = data;
printf("top:%d->data:%d\n",top,stack[top]);
}
else
{
printf("Full\n");
}
}
int pop(int* stack)
{
if (!isEmpty())
{
return stack[top--];
}
else
{
printf("Empty\n");
}
}
int peek(int* stack)
{
if (!isEmpty())
{
return stack[top];
}
else
{
printf("Empty\n");
}
}
int main(void)
{
int stack[10] = { 0 };
for (size_t i = 0; i < STACKSIZE; i++)
{
push(stack, i);
}
printf("peek!: %d\n", peek(stack));
for (size_t i = 0; i < STACKSIZE; i++)
{
printf("pop!: %d\n",pop(stack));
}
return 0;
}
반응형
'C Programming' 카테고리의 다른 글
[C Programming] Stack을 사용한 중위연산식->후위연산식 변환 (1) | 2024.03.15 |
---|---|
[C Programming] Cirqular Queue (0) | 2024.03.14 |
[C] 중위연산식 후위연산식으로 바꾸기 2 (0) | 2024.03.03 |
[C] 중위연산식 후위연산식으로 바꾸기 1 (0) | 2024.03.03 |
[Linux] C 프로그램의 빌드 과정 살펴보기 (1) | 2024.02.08 |