Á¤¼ºÈÆ
    (Ãß°¡) ½Ç½À ÇÁ·Î±×·¥ ¿¹)
mystrcmp.txt [1 KB]   mystrcmp À̸§ Á¤·Ä.txt [2 KB]  



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
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
typedef unsigned char uchar;
 
 
int mystrcmp(const char* str1, const char* str2) {
 
    for (int i = 0; ; i++) {
        if ((uchar) str1[i] - (uchar) str2[i] < 0)
            return -1;
        else if ((uchar) str1[i] - (uchar) str2[i] > 0)
            return +1;
 
        if (str1[i] == 0 && str2[i] == 0// || µµ µÊ (¿Ö µÉ±î »ý°¡Çغ¼ °Í)
            return 0;
    }
}
 
int main(void)
{
    int result;
    char str[6][10= { "ÇÏÇÏÇÏ""ȣȣȣ""ÇÏÇÏÇÏÇÏ""¾È³ç""ȣȣȣ""ÇÏÇÏ"};
 
    result = mystrcmp(str[1], str[4]);
    printf("% s - % s = %d\n", str[1], str[4], result);
 
    result = mystrcmp(str[0], str[5]);
    printf("% s - % s = %d\n", str[0], str[5], result);
 
    result = mystrcmp(str[0], str[2]);
    printf("% s - % s = %d\n", str[0], str[2], result);
 
    result = mystrcmp(str[1], str[3]);
    printf("% s - % s = %d\n", str[1], str[3], result);
}
cs

 

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
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
#define N_STUDENTS  4
 
typedef unsigned char uchar;
typedef struct student_info {
    char    name[10];
    int     height;
    float   weight;
} student_info;
 
student_info students[N_STUDENTS] = {
    {"À̼ø½Å"17283.4},
    {"È«±æµ¿"16772.5},
    {"±èÀ¯½Å"15970.8},
    {"À¯°ü¼ø"16358.4}
};
 
int mystrcmp(const char* str1, const char* str2) {
 
    for (int i = 0; ; i++) {
        if ((uchar)str1[i] - (uchar)str2[i] < 0)
            return -1;
        else if ((uchar)str1[i] - (uchar)str2[i] > 0)
            return +1;
 
        if (str1[i] == 0 && str2[i] == 0// || µµ µÊ (¿Ö µÉ±î »ý°¡Çغ¼ °Í)
            return 0;
    }
}
 
 
int find_min_byName(student_info data[], int start, int n)
{
    int i, least;
 
    least = start;
    for (i = start + 1; i < n; i++) {
        if (mystrcmp(data[i].name, data[least].name) < 0)
            least = i;
    }
    return least;
}
 
void sort_byName(student_info data[], int n) {
    student_info tmp;
    int least;
 
    for (int i = 0; i < n; i++) {
        least = find_min_byName(data, i, n);
 
        tmp = data[i];
        data[i] = data[least];
        data[least] = tmp;
    }
}
 
void print_data(student_info s[], int n)
{
    for (int i = 0; i < n; i++) {
        printf("%s %d %f \n", s[i].name, s[i].height, s[i].weight);
    }
}
int main(void)
{
    printf("-----[Á¤·Ä Àü]-------\n");
    print_data(students, N_STUDENTS);
    sort_byName(students, N_STUDENTS);
    printf("-----[Á¤·Ä ÈÄ]-------\n");
    print_data(students, N_STUDENTS);
}
cs

  µî·ÏÀÏ : 2023-10-22 [20:06] Á¶È¸ : 236 ´Ù¿î : 497   
 
¡â ÀÌÀü±ÛÅ¥¸¦ ÀÌ¿ëÇÑ ³Êºñ ¿ì¼± Ž»ö BFS(Breadth First Search) ±¸Çö (Ãß°¡)
¡ä ´ÙÀ½±Û(½Ç½À 6) ½ºÅÃ
ÀڷᱸÁ¶ ½Ç½À°Ô½ÃÆÇ
¹øÈ£ ¨Ï Á¦ ¸ñ
[Âü°í] ±³Àç¿¡ ÀÖ´Â ¼Ò½ºÄÚµå
31 ¦¦❶ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
30    ¦¦❷ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
29       ¦¦❸ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
28          ¦¦❹ ¨Õmystrcmp() ÇÔ¼öÀÇ ±¸Çö (Ãß°¡)
27             ¦¦❺ (Ãß°¡) ½Ç½À ÇÁ·Î±×·¥ ¿¹)
26 ¨Õ(½Ç½À 4) µ¿Àû ¸Þ¸ð¸®ÇÒ´ç
25 ¦¦❶ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
24    ¦¦❷ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
23       ¦¦❸ ¨Õmalloc 2Â÷¿ø ¹è¿­ ÇÒ´ç (Ãß°¡)
22          ¦¦❹ (Ãß°¡) ½Ç½À ÇÁ·Î±×·¥ ¿¹)
21             ¦¦❺ ½Ç½À ÇÁ·Î±×·¥ ¿¹) (¼ö¾÷ ¿¹½Ã)
20 ¨Õ(½Ç½À 3) swap ÇÔ¼ö¿Í ¹è¿­ ´Ù·ç±â
19 ¦¦❶ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
18    ¦¦❷ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
17       ¦¦❸ ±¸Á¶Ã¼ µ¥ÀÌÅÍÀÇ swap (Ãß°¡)
16          ¦¦❹ (Ãß°¡) ½Ç½À ÇÁ·Î±×·¥ ¿¹)
15 ¨Õ(½Ç½À 2) ¼øȯ
14 ¦¦❶ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
13    ¦¦❷ ½Ç½À ÇÁ·Î±×·¥ ¿¹)
12       ¦¦❸ ½Ç½À ÇÁ·Î±×·¥ ¿¹)

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