아래 코드에 대해서 한줄한줄 분석하고 한줄한줄 주석을 달으라는대요, 사실 코드가 잘 이해가 가지않습니다.
조금이라도 도와주실수 있으신분 ㅠㅠ
#include <stdio.h>
#include <stdlib.h>
#define STACK_SIZE 100
typedef int element; // int를 스택 element의 자료형으로 정의
element stack[STACK_SIZE];
int top = -1; // 스택의 top의 초기값을 -1로 설정
void push(element item) // 스택의 삽입 연산
{
if (top >= STACK_SIZE - 1) { // 스택이 이미 Full인 경우
printf("\n\n Stack is FULL ! \n");
return;
}
else stack[++top] = item;
}
element pop() // 스택의 삭제 후 반환 연산
{
if (top == -1) { // 현재 스택이 공백인 경우
printf("\n\n Stack is Empty!!\n");
return 0;
}
else return stack[top--];
}
void del() // 스택의 삭제 연산
{
if (top == 1) { // 현재 스택이 공백인 경우
printf("\n\n Stack is Empty !\n ");
exit(1);
}
else top--;
}
element peek() // 스택의 top 원소 검색 연산
{
if (top == -1) { // 현재 스택이 공백인 경우
printf("\n\n Stack is Empty ! \n");
exit(1);
}
else return stack[top];
}
void printStack() // 스택 내용 출력 연산
{
int i;
printf("\n STACK [ ");
for (i = 0; i <= top; i++)
printf("%d ", stack[i]);
printf("] ");
}
void main(void)
{
int item;
printStack();
push(1);
printStack();
push(2);
printStack();
push(3);
printStack();
item = peek();
printStack();
printf("peek top => %d", item);
del();
printStack();
item = pop();
printStack();
printf("\t pop pop => %d", item);
item = pop();
printStack();
printf("\t pop pop => %d", item);
pop();
getchar();
}
자료구조중 스택에 대해 알아봅니다!
얼마짜리과제인가요
는대->는데 [리듬 맞춤법 봇♬]