1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.
판매자 | 아크마 | 판매 납포인트 | 무료 | 평점 | 0점 / 총 0명 참여 |
---|
#define MAX 30 // 스택 크기 설정
class Stack
{
public:
void init_stack()
{
top = -1; // 스택 포인트 초기화
}
int push(int t)
{
if(top >= MAX -1) // 스택이 오버 플로우인지 체크
{
printf("Pushed Stack overflow.\n");
return -1;
}else
{
printf("Pushed : %d\n", t);
}
stack[++top] = t; // 스택에 추가
return t;
}
int pop()
{
int ret;
if(top < 0) // 스택 언더 플로우 체크
{
printf("Pop Stack undenflow.\n");
return -1;
}else
{
ret = stack[top--];
printf("Pop : %d\n", ret);
}
return ret; // 스택에서 빼내고 반환
}
void print_stack()
{
int i; // 스택 내용 보여주는 함수
printf("\nStack contents : Top -> Bottom\n");
for( i = top; i>= 0; i--)
{
printf("%-6d", stack[i]);
}
}
public:
int stack[MAX]; // 스택 메모리 설정
int top; // 스텍 포인트
};
void main()
{
Stack stack;
int menu;
int value;
stack.init_stack();
printf("stack menu\n");
printf("1.PUSH\n");
printf("2.POP\n");
printf("3.exit\n");
do
{
scanf("%d", &menu);
if(menu==1)
{
printf("Push Value :");
scanf("%d", &value);
stack.push(value);
}else if(menu==2)
{
stack.pop();
}
} while(menu != 3);
}