자료구조_c언어_배열스택_arrayStack_02
2021. 2. 2. 08:51ㆍ개발하는중/자료구조
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 | #include <stdio.h> #include <stdlib.h> #define MAX_STACK_SIZE 100 #define MAX_STRING 100 typedef struct { int student_no; char name[MAX_STRING]; char address[MAX_STRING]; }element; void push(element item); element pop(); element stack[MAX_STACK_SIZE]; int top = -1; int is_empty() { return(top == -1); } int is_full() { return (top == (MAX_STACK_SIZE - 1)); } element peek() { if (is_empty()) { printf("스택 공백 에러\n "); exit(1); } else return stack[top]; } void push(element item) { if (is_full()) { printf("스택 포화 에러\n"); exit(1); } else stack[++top] = item; } element pop() { if (is_empty()) { printf("스택 공백 에러\n"); exit(1); } else return stack[top--]; } int main() { element ie, ie2, oe; int i; strcpy(ie.name, "leesunsin"); strcpy(ie.address, "korea/Seoul"); ie.student_no = 20053001; strcpy(ie2.name, "leesunggya"); strcpy(ie2.address, "korea"); ie2.student_no = 20081002; push(ie); push(ie2); for (i = 0; i < 2; i++) { oe = pop(); printf("name:%s\naddress:%s\nstudentNumber:%d\n", oe.name, oe.address, oe.student_no); printf("\n"); } return 0; } | cs |
728x90
'개발하는중 > 자료구조' 카테고리의 다른 글
자료구조_c언어_배열스택_arrayStack_04 (0) | 2021.02.04 |
---|---|
자료구조_c언어_배열스택_arrayStack_03 (0) | 2021.02.03 |
자료구조_c언어_배열스택_arrayStack_01 (0) | 2021.02.01 |
자료구조_c언어_연결링크_linkedStack02 (0) | 2021.01.31 |
자료구조_c언어_연결링크_linkedStack01 (2) | 2021.01.29 |