자료 구조중 하나인 스택을 c언어로 구현한거에요.
스택은 LIFO(Last In First Out 의 약자) 로 가장 늦게 들어 간 값이 가장 먼저 티어나오는 형식입니다.
스택에서 값을 넣는 동작을 Push, 꺼내는 동작을 Pop라고 합니다.
#include <stdio.h>
#define SIZE 5
int top=0;
int s[SIZE];
void push(int d)
{
if(top >= SIZE) {printf("overflow\n");
}
else {
s[top] = d;
top++;
}
}
void pop()
{
if(top == 0) {printf("empty\n"); }
else {
printf("pop된 값은 ? %d\n", s[top-1]);
s[top-1]=0;
top--;
}
}
void dis()
{
int i;
for(i=0;i<SIZE;i++)
{
printf("%d\t",s[i]);
}
printf("\n\n");
}
void main()
{
int menu;
int data;
while(menu <= 3)
{ printf("메뉴 선택 1. 푸시 2. 팝 3. 종료\n");
scanf("%d", &menu);
switch (menu)
{
case 1:
printf("스택에 푸시할 값을 입력하세요");
scanf("%d",&data);
push(data);
break;
case 2:
pop();
break;
case 3:
menu = 5;
break;
default :
printf("잘못된 메뉴 입력");
break;
}
dis();
}
}
'IT > Programing' 카테고리의 다른 글
c언어 선택정렬 (0) | 2013.12.12 |
---|---|
c언어 큐(que), 자료구조 (0) | 2013.12.10 |
c언어 버블정렬(버블소트) (0) | 2013.12.05 |