Beispiel #1
0
int main()
{
    int i, digit;
    pnode phead = NULL;
    init_node(&phead, sizeof(snode));
    create_chain(phead);

    pnode arr[N];
    for (i = 0; i < N; i++) {
        init_node(&arr[i], sizeof(snode));
    }

    digit = max_digit(phead); 
    for (i = 0; i < digit; i++) {
        phead_to_arr(phead, arr);
        arr_to_phead(phead, arr);
    }

    show_chain(phead);
    for (i = 0; i < N; i++) {
        destroy_chain(&arr[i]);
    }
    destroy_chain(&phead);
    return 0;
}
Beispiel #2
0
constexpr std::size_t max_digit(Int1 base_from, Int2 base_to)
{
    return 1 + (base_to ? max_digit(base_from, base_to / base_from) : 0);
}