Á¤¼ºÈÆ
    ½Ç½À ÇÁ·Î±×·¥ ¿¹)
insert_last.txt [3 KB]   simple linked list.pptx [103 KB]  



#define _CRT_SECURE_NO_WARNINGS

ÀÌ°ÍÀ» ¸Ç À§¿¡ ³Ö¾î¾ß ÄÄÆÄÀÏ ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾ÊÀ½

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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
typedef struct student_info {
    char name[10];
    int height;
    float weight;
} element;
 
typedef struct ListNode {     // ³ëµå Å¸ÀÔÀ» ±¸Á¶Ã¼·Î Á¤ÀÇÇÑ´Ù.
    element data;
    struct ListNode *link;
} ListNode;
 
 
ListNode* insert_first(ListNode *head, element value)
{
    ListNode *= (ListNode *)malloc(sizeof(ListNode));//(1)
    p->data = value;    // (2)
    p->link = head; //(3)
    head = p; //(4)
 
    return head;
}
 
// ³ëµå pre µÚ¿¡ »õ·Î¿î ³ëµå »ðÀÔ
ListNode*  insert(ListNode *head, ListNode *pre, element value)
{
    ListNode *= (ListNode *)malloc(sizeof(ListNode));    //(1)
    p->data = value;        //(2)
    p->link = pre->link;    //(3)    
    pre->link = p;        //(4)    
    return head;        //(5)    
}
 
ListNode* delete_first(ListNode *head)
{
    ListNode *removed;
    if (head == NULLreturn NULL;
    removed = head;    // (1)
    head = removed->link;    // (2)
    free(removed);        // (3)
    return head;        // (4)
}
 
// pre°¡ °¡¸®Å°´Â ³ëµåÀÇ ´ÙÀ½ ³ëµå¸¦ »èÁ¦ÇÑ´Ù. 
ListNode* delete(ListNode *head, ListNode *pre)
{
    ListNode *removed;
    removed = pre->link;
    pre->link = removed->link;        // (2)
    free(removed);            // (3)
    return head;            // (4)
}
 
void print_list(ListNode *head)
{
    for (ListNode *= head; p != NULL; p = p->link)
        printf("(%s %3d %4.1f)->", p->data.name, p->data.height, p->data.weight);
    printf("\n");
}
 
element* new_element(char *name, int height, float weight)
{
    element *= (element *)malloc(sizeof(element));    //(1)
    strcpy(p->name, name);
    p->height = height;
    p->weight = weight;
    
    return p;
}
 
ListNode* find_node(ListNode *head,char *name)
{
    for (ListNode *= head; p != NULL; p = p->link)
        if (!strcmp(p->data.name, name)) 
            return p;
    return NULL;
}
 
ListNode* insert_last(ListNode *head, element value)
{
    ListNode *= (ListNode *)malloc(sizeof(ListNode));
    ListNode *t;
    p->data = value;
 
    if (head == NULL) {
        p->link = head;
        head = p; 
    } else {
        for (t = head; t->link != NULL; t = t->link);
        t->link = p;
        p->link = NULL;
    }
 
    return head;
}
// Å×½ºÆ® ÇÁ·Î±×·¥
int main(void)
{
    ListNode *head = NULL*pre;
    element* new;
 
    new = new_element("È«±æµ¿"16772.5);
    head = insert_first(head, *new);
    new = new_element("À¯°ü¼ø"16358.4);
    head = insert_first(head, *new);
    new = new_element("±èÀ¯½Å"15970.8);
    head = insert_first(head, *new);
    print_list(head);
 
    head = delete_first(head);
    print_list(head);
 
    pre = find_node(head, "À¯°ü¼ø");
    if (pre != NULL) {
        new = new_element("À̼ø½Å"17283.4);
        head = insert(head, pre, *new);
    }
    print_list(head);
 
    pre = find_node(head, "À̼ø½Å");
    if (pre != NULL) {
        head = delete(head, pre);
        print_list(head);
    }
    new = new_element("È«±æµ¿"16772.5);
    head = insert_last(head, *new);
    print_list(head);
 
    new = new_element("±èÀ¯½Å"15970.8);
    head = insert_first(head, *new);
    print_list(head);
 
    return 0;
}
cs

  µî·ÏÀÏ : 2020-11-03 [20:06] Á¶È¸ : 214 ´Ù¿î : 379   
 
¡â ÀÌÀü±Û½Ç½À ÇÁ·Î±×·¥ ¿¹)
¡ä ´ÙÀ½±Û¿øÇü ¿¬°á ¸®½ºÆ®¿¡¼­ print_list() ÇÔ¼ö ¹ö±× ¹®Á¦
ÀڷᱸÁ¶ ½Ç½À°Ô½ÃÆÇ
¹øÈ£ ¨Ï Á¦ ¸ñ
[Âü°í] ±³Àç¿¡ ÀÖ´Â ¼Ò½ºÄÚµå
63 ¨Õ(½Ç½À 12) ¹®ÀÚ¿­ ã±â
62 ¦¦❶ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
61 ¨Õ(½Ç½À 11) Æ®¸®
60 ¦¦❶ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
59 ¨Õ(½Ç½À 10) ¾ß±¸°ÔÀÓ
58 ¦¦❶ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
57    ¦¦❷ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
56 ¨Õ(½Ç½À 9) ¿¬°á ¸®½ºÆ®
55 ¦¦❶ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
54    ¦¦❷ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
53       ¦¦❸ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
52          ¦¦❹ ¿øÇü ¿¬°á ¸®½ºÆ®¿¡¼­ print_list() ÇÔ¼ö ¹ö±× ¹®Á¦
51             ¦¦❺ ¹ö±× ÀÖ´Â ±³Àç ÇÁ·Î±×·¥°ú ¹ö±×¸¦ ¼öÁ¤ÇÑ ¿Ã¹Ù¸¥ ÇÁ·Î±×·¥
50 ¨Õ(½Ç½À 8) ½Ã¹Ä·¹À̼Ç
49 ¦¦❶ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
48    ¦¦❷ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
47       ¦¦❸ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
46          ¦¦❹ Ç׸ñ º° ¿ì¼±¼øÀ§¸¦ µÎ¾î¼­ ¿ì¼±¼øÀ§¿¡ µû¶ó¼­ ó¸®Çϵµ·Ï º¯°æ (Ãß°¡)
45             ¦¦❺ ¨Õ½Ç½À ÇÁ·Î±×·¥ ¿¹) ºñ°ø°³
44 ¨Õ(½Ç½À 7) ¹Ì·Îã±â

[1][2][3][4]