반응형
#include <iostream>
#define MAX_SIZE 20
typedef int Element;
Element stack[MAX_SIZE];
int top;
void init(){
top = -1;
}
int is_empty(){
return (top == -1);
}
int is_full(){
return (top == (MAX_SIZE - 1));
}
Element peek(){
if (is_empty()){
fprintf(stderr, "스택 공백 에러\n");
exit(1);
} else return stack[top];
}
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--];
}
int main() {
init();
std::cout << "stack input value = ";
for (int i = 0; i < 10; ++i) {
std::cout << i * 5 << " ";
push(i * 5);
}
std::cout << std::endl << "stack output value = ";
for (int i = 0; i < 10; ++i) {
std::cout << peek() << " ";
pop();
}
return 0;
}
선입선출 방식의 스택 알고리즘을 C++로 구현
반응형
'알고리즘' 카테고리의 다른 글
C++ 큐 알고리즘 구현 (0) | 2022.06.05 |
---|
최근댓글