반응형

자료 구조중 하나인 스택을 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

+ Recent posts