반응형
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
138
139
140
141
142
143
#include <iostream>
#include <cstdio> // stdio.h
 
using namespace std;
 
class node {
private:
    friend class chain;
    friend class chainIter;
 
    int data;
    node *next;
};
 
class chain {
private:
    friend class chainIter;
    node *first, *last;
 
public:
    // 생성자
    chain() {
        first = last = NULL;
    }
    ~chain() {
 
    }
 
    void insert(int data) {
        if (first == NULL) // 노드 생성이 아직 한번도 안됐다면
        {
            node *newNode = new node; // 노드 생성
            // = new node;
            first = last = newNode;
            newNode->next = NULL;
            newNode->data = data;
        }
 
        // 하나라도 노드가 있다면
        else {
            // malloc
            node *newNode = new node;
 
            last->next = newNode;
            newNode->next = NULL;
            newNode->data = data;
            last = newNode;
        }
 
    }
 
    void print() {
        node *cur = first;
 
        if (first == NULL)
            return// 에러
 
        while (cur != NULL) {
            cout << cur->data << " ";
            cur = cur->next;
        }
    }
    
    int getMin() {
        int minVal = 987654321;
        
        node *cur = first;
        if (first == NULL)
            return -987654321// 에러
 
        while (cur != NULL) {
            if (minVal > cur->data)
                minVal = cur->data;
            cur = cur->next;
        }
 
        return minVal;
    }
 
};
//
//class chainIter {
//private:
//    node *iter;
//public:
//    // iterator begin
//    chainIter begin() {
//        return chainIter(first); // first
//    }
//    // iterator end
//    chainIter end() {
//        return chainIter(0);
//    }
//
//    chainIter(node *startNode = 0) {
//        iter = startNode;
//    }
//    // 모름
//    // *abc
//    int& operator*() const {
//        return iter->data;
//    }
//    // 모름
//    int* operator &() {
//        return &iter->data;
//    }
//
//    chainIter& operator++() {
//        iter = iter->next;
//        return *this;
//    }
//
//    chainIter operator++(int) {
//        chainIter tmp = *this;
//        iter = iter->next;
//        return tmp;
//    }
//
//    bool operator!=(const chainIter tmp) const {
//        return iter != tmp.iter;
//    }
//
//    bool operator==(const chainIter tmp) const {
//        return iter == tmp.iter;
//    }
//};
int main()
{
    chain kau = chain();
    //chainIter iter = chainIter();
    int arr[6= { 1,2,3,4,5,};
    // int 최고크기 2^32 - 1;
    int sz =sizeof(arr) / sizeof(int);
    
    for (int i = 0; i < sz; i++)
        kau.insert(arr[i]);
 
    kau.print();
    cout << kau.getMin();
    return 0;
}
//                                                       This source code Copyright belongs to Crocus
//                                                        If you want to see more? click here >>
Crocus


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
#include <iostream>
#include <cstdio>
 
using namespace std;
 
template <typename kau>
void _swap(kau a, kau b) {
    kau tmp = a;
    a = b;
    b = tmp;
 
    cout << a << " " << b << endl;
}
 
int main()
{
    char n1 = 'a', n2 = 'b';
    double d1 = 1.1, d2 = 3.3;
 
    _swap<double>(d1, n1);
 
    return 0;
}
 
//                                                       This source code Copyright belongs to Crocus
//                                                        If you want to see more? click here >>
Crocus







반응형

'Tutoring > Data Structure' 카테고리의 다른 글

연결리스트 및 응용 예시 문제  (0) 2018.05.24
튜터링 단일 연결 리스트  (0) 2018.04.18
튜터링 atoi, 후위 표기식  (0) 2018.04.11
튜터링 연습문제 1주차  (0) 2018.03.21
hash  (0) 2018.03.04