스택
스택이란?
- 특정 자료를 저장할 수 있는 배열 형태의 자료구조
- 데이터의 출입이 1곳 (배열의 뒤)에서만 일어난다는 특징이 있음
- 데이터가 선입후출되는 구조 (먼저 들어온 데이터가 나중에 나가는 구조)
기본 구현 방법
- 배열 생성 (그냥 기본 배열) 2.
top
변수 생성 (현재 값이 얼마나 저장되었는지를 나타내는 변수) 3.top
의 값을 1씩 늘리면서 그 위치에 값을 저장 4.top
의 값을 1씩 줄여가면서 값을 반환
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
typedef char bool;
const bool true = 1;
const bool false = 0;
#define MAX_IDX 100
int stack[MAX_IDX];
int top = -1;
bool isEmpty() { return (top == -1); }
bool isFull() { return (top == MAX_IDX); }
void push(int x) {
if (isFull() == false) {
stack[++top] = x;
}
return;
}
int pop() {
if (isEmpty() == true) {
printf("[Error] : Nothing in the stack!\n");
return 0;
} else {
return stack[top--];
}
}
int main() {}