티스토리 뷰
배열을 이용한 스택을 구현해 보겠습니다.
스택이란 ?
Last In First Out구조로써, 처음 들어간 데이터가 가장 마지막에 나오게 되는 구조 입니다.
상자를 쌓을때, 상자를 가장 밑바닥 부터 차근차근 쌓아 올리는 것과 반대로, 상자를 빼낼떄에는 가장 마지막에 쌓은 상자를 가장 처음 꺼낸다는 원리와 같은 원리 입니다. 컴퓨터구조에서 이 이론은 리턴값, 즉 함수를 실행하고 돌아갈 위치가 메모리에 스택 구조로 쌓인다고 생각하시면 됩니다.
여튼 이런 스택을 구현해 보겠습니다.
//
// main.c
// 기본
//
// Created by 이태우 on 2014. 10. 1..
// Copyright (c) 2014년 taewoo. All rights reserved.
//
#include <stdio.h>
int main(int argc, const char * argv[])
{
char stack[5];
int top =0;
char boxName ='A';
int select =9;
while(select !=3)
{
printf("<1> 상자 쌓기 <2> 상자 빼기 <3> 끝 : ");
scanf("%d", &select);
switch(select)
{
case 1:
if(top == 5)
{
printf("상자를 더 이상 쌓을 수 없음\n");
}
else
{
stack[top]=boxName++;
printf(" %c 11상자가 쌓임\n", stack[top]);
top ++;
}
break;
case 2:
if(top == 0)
{
printf("쌓여있는 상자가 없음.\n");
}
else
{
top --;
printf(" %c 상자를 뺌\n", stack[top]);
stack[top] =' ';
}
break;
case 3:
printf("현재 상자 %d개가 쌓여 있음 \n", top);
printf("프로그램을 종료합니다.\n");
break;
default :
printf("입력 오류 다시 입력해 주세요\n");
}
}
}
소스는 위와 같습니다.
해당 소스를 실행해 보면 다음과 같은 결과를 얻을 수 있습니다.
배열을 이용한 스택의 구현이 이렇게 됬습니다.
어때요 참 쉽죠??
이 포스팅은 한빛아카데미의 C언어 for Beginner의 예제를 이용하였으며, 한빛아카데미의 지원으로 작성되었습니다.
'도서 리뷰' 카테고리의 다른 글
[한빛아카데미] 맛있는 디자인 일러스트레이터 CC (0) | 2014.11.29 |
---|---|
[한빛아카데미] 스콧 켈비의 사진가를 위한 포토샵 CS6 (0) | 2014.10.28 |
우분투 리눅스 설치하기 for MAC (0) | 2014.10.05 |
[한빛아카데미] 우분투 리눅스 (0) | 2014.09.30 |
[한빛아카데미] C언어 for Beginner (1) | 2014.09.27 |
- Total
- Today
- Yesterday
- 바이로봇
- 랜섬웨어
- 리버싱
- 백신
- CryptoWall
- 크립토락커
- 파밍
- 리버싱 공부
- 악성코드
- 해커스쿨
- 뱅커
- 실전 악성코드와 멀웨어 분석
- 서비스
- malware
- 팝업
- Ransom
- 실전 악성코드와 멀웨어 분석 연습문제
- 해커스쿨 ftz
- 한빛리더스
- IT·컴퓨터
- 에이콘 출판사
- 실전 악성코드와 멀웨어 분석 문제풀이
- CTB-Locker
- 광고
- CryptoLocker
- 에이콘
- banker
- 키로거
- 뱅킹
- 한빛아카데미
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 | 31 |