스택은 컴퓨터 과학에서의 중요한 자료 구조로, 후입선출(LIFO: Last-In-First-Out) 원칙을 따릅니다.
Keywords: #스택 #자료구조 #후입선출 #LIFO
스택은 배열이나 연결 리스트로 구현될 수 있습니다.
파이썬:
stack = []
C:
#include <stdio.h>
#define MAX_SIZE 100
int stack[MAX_SIZE];
int top = -1;
파이썬:
def push(item):
stack.append(item)
C:
void push(int item) {
if (top >= MAX_SIZE - 1) {
printf("Stack overflow!\n");
return;
}
stack[++top] = item;
}
파이썬:
def pop():
if len(stack) == 0:
print("Stack underflow!")
return None
return stack.pop()
C:
int pop() {
if (top == -1) {
printf("Stack underflow!\n");
return -1; // Assuming -1 indicates error
}
return stack[top--];
}
파이썬:
def peek():
if len(stack) == 0:
print("Stack is empty!")
return None
return stack[-1]
C:
int peek() {
if (top == -1) {
printf("Stack is empty!\n");
return -1; // Assuming -1 indicates error
}
return stack[top];
}
스택의 구현에 있어 파이썬은 간편하게 내장 리스트를 사용하지만, C에서는 스택의 크기와 상단 위치 등을 직접 관리해야 합니다.