자료구조_c언어_linkedList_02
2021. 5. 25. 10:10ㆍ개발하는중/자료구조
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 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | #include <stdio.h> #include <malloc.h> #include <string.h> #include <Windows.h> typedef struct Node { int data; struct Node *link; }ND; ND *start = NULL; void menu1(void); void menu2(void); void menu3(void); void menu4(void); int menu(void); ND* makeNode(void); void removeAll(void); int main() { int select; while (1) { select = menu(); switch (select) { case 1: menu1(); break; case 2: menu2(); break; case 3: menu3(); break; case 4: menu4(); break; default: puts("잘못 입력했습니다."); } system("pause"); } return 0; } int menu() { int select; system("cls"); puts("#### Singly Linked List ####"); puts("1. 추가"); puts("2. 목록"); puts("3. 삭제"); puts("4. 종료"); puts("############################"); printf("선택 :"); scanf("%d", &select); return select; } ND* makeNode() { ND *tmp = (ND*)malloc(sizeof(ND)); tmp->link = NULL; printf("데이터 입력 :"); scanf("%d", &tmp->data); return tmp; } void menu1() { if (start == NULL) { start = makeNode(); } else { ND *tmp = makeNode(); tmp->link = start; start = tmp; } puts("데이터 추가 완료"); } void menu2() { if (start == NULL) { return; } ND *tmp = start; while (tmp != NULL) { printf("data:%d,address:%p,link:%p\n", tmp->data, tmp, tmp->link); tmp = tmp->link; } } void menu3() { if (start == NULL) { puts("더 이상 삭제할 데이터가 없습니다.\n"); return; } ND *imsi = start; start = start->link; free(imsi); puts("삭제 완료\n"); } void menu4() { removeAll(); puts("프로그램을 종료 합니다.\n"); exit(0); } void removeAll() { if (start == NULL) { return; } while (start != NULL) { menu3(); } } | cs |
728x90
'개발하는중 > 자료구조' 카테고리의 다른 글
자료구조_c언어_circularLinkedList_01 (0) | 2021.08.25 |
---|---|
자료구조_c언어_서클 큐_circleQueue_02 (0) | 2021.07.19 |
자료구조_c언어_linkedList (0) | 2021.05.20 |
자료구조_c언어_linked (0) | 2021.05.18 |
자료구조_c언어_큐스택_queueStack_01 (0) | 2021.05.17 |