자료구조_c언어_연결링크_linkedStack01
2021. 1. 29. 11:45ㆍ개발하는중/자료구조
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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | #include <stdio.h> #include <stdlib.h> #include <string.h> typedef int element; typedef struct stackNode { element data; struct stackNode *link; }StackNode; StackNode *top; void push(element item) { StackNode *temp = (StackNode*)malloc(sizeof(StackNode)); temp->data = item; temp->link = top; top = temp; } element pop() { element item; StackNode *temp = top; if (top == NULL) { printf("\n\n Stack is empty !\n"); return 0; } else { item = temp->data; top = temp->link; free(temp); return item; } } element peek() { element item; if (top == NULL) { printf("\n\n Stack is empty !\n"); return 0; } else { item = top->data; return item; } } void del() { StackNode *temp; if (top == NULL) { printf("\n\n Stack is empty !\n"); } else { temp = top; top = top->link; free(temp); // 날리기 } } void printStack() { StackNode *p = top; printf("\n STACK ["); while (p) { printf("%d ", p->data); p = p->link; } printf("]"); } int main() { element item; top = NULL; printStack(); push(1); printStack(); push(2); printStack(); push(3); printStack(); item = peek(); printStack(); printf("peek top =>%d", item); del(); printStack(); item = pop(); printStack(); printf("\t pop top =>%d", item); item = pop(); printStack(); printf("\t pop top =>%d", item); pop(); getchar(); return 0; } | cs |
728x90
'개발하는중 > 자료구조' 카테고리의 다른 글
자료구조_c언어_배열스택_arrayStack_04 (0) | 2021.02.04 |
---|---|
자료구조_c언어_배열스택_arrayStack_03 (0) | 2021.02.03 |
자료구조_c언어_배열스택_arrayStack_02 (0) | 2021.02.02 |
자료구조_c언어_배열스택_arrayStack_01 (0) | 2021.02.01 |
자료구조_c언어_연결링크_linkedStack02 (0) | 2021.01.31 |