자료구조_c언어_배열스택_arrayStack_05
2021. 2. 24. 13:30ㆍ개발하는중/자료구조
728x90
반응형
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | #include <stdio.h> #include <Windows.h> #define MAX 5 int stack[MAX]; int top = -1; void push(int data) { if (top + 1 == MAX) { printf("\n stack overflow!!!\n\n"); return; } else stack[++top] = data; } void pop() { if (top == -1) { printf("\n stack underflow!!!\n\n"); return; } else{ printf("pop된 데이터:%d\n", stack[top]); stack[top--]; } } void peek() { if (top == -1) { printf("peek할 데이터가 없습니다.\n"); } else printf("현재 peek할 데이터는 %d입니다.\n", stack[top]); } void printAll() { int i; printf("======현재 저장된 데이터======\n"); printf("\t------\n"); for (i = top; i > -1; i--) { printf("\t| %-2d |\n", stack[i]); printf("\t------\n"); } } int main() { int ch, a; while (1) { system("cls"); // 화면 청소 printf("\t=====메뉴=====\n"); printf("\t1.push()\n"); printf("\t2.pop()\n"); printf("\t3.peek()\n"); printf("\t4.exit()\n"); printf("input: "); scanf("%d", &ch); switch (ch) { case 1: printf("저장할 데이터 입력:"); scanf("%d", &a); push(a); break; case 2: pop(); break; case 3: peek(); break; case 4: return 0; default: printf("잘못 입력했습니다.\n"); system("pause"); // 대기 main(); } printAll(); system("pause"); } return 0; } | cs |
728x90
'개발하는중 > 자료구조' 카테고리의 다른 글
자료구조_c언어_linked (0) | 2021.05.18 |
---|---|
자료구조_c언어_큐스택_queueStack_01 (0) | 2021.05.17 |
자료구조_c언어_서클 큐_circleQueue_01 (0) | 2021.02.10 |
자료구조_c언어_배열스택_arrayStack_04 (0) | 2021.02.04 |
자료구조_c언어_배열스택_arrayStack_03 (0) | 2021.02.03 |