insert sort, b-search

Dev.Write 2013. 3. 7. 11:25 Posted by zetz
insert sort
1
2
3
4
5
6
7
8
9
10
11
12
// insert sort
template <class Type, class Compare>
void insert_sort(Type* array, int size, Compare compare) {
    int i, j;
    for (i=1; i< size; ++i) {
        Type next = array[i];
        for (j=i-1; 0<= j && compare(next, array[j]); --j) {
            array[j+1] = array[j];
        }
        array[j+1] = next;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//< b-search
template <class Type>
int binary_search(Type* array, int first, int last, const Type& key)
{
    while (first <= last)
    {
        int mid = (first + last) / 2;
        if (key > array[mid])
            first = mid +1;
        else if (key < array[mid])
            last = mid -1;
        else
            return mid;
    }
    return -(first+1);
}

'Dev.Write' 카테고리의 다른 글

list  (0) 2013.04.12
quick sort, bouble sort  (1) 2013.03.25
[Python] os 모듈  (0) 2011.10.21
범용적인 fsm 클래스 설계  (0) 2011.10.04
wxWidgets 튜토리얼 사이트 소개  (0) 2011.10.04