void push_back(dll_node_t &_node)
{
dll_node_t *p_next;
dll_node_t *_p_prev=tail_;
if(_p_prev==0){
p_next=head_;
head_=&_node;
}
else{
p_next=_p_prev->next_;
_p_prev->next_=&_node;
}
if(p_next==0)
tail_=&_node;
else
p_next->prev_=&_node;
_node.next_=p_next;
_node.prev_=_p_prev;
count_++;
}
{
dll_node_t *p_next;
dll_node_t *_p_prev=tail_;
if(_p_prev==0){
p_next=head_;
head_=&_node;
}
else{
p_next=_p_prev->next_;
_p_prev->next_=&_node;
}
if(p_next==0)
tail_=&_node;
else
p_next->prev_=&_node;
_node.next_=p_next;
_node.prev_=_p_prev;
count_++;
}
void push_back (dll_node_t &_node)
{
dll_node_t *p_next;
dll_node_t *_p_prev = tail_;
if (_p_prev == 0) {
p_next = head_;
head_ = &_node;
}
else {
p_next = _p_prev->next_;
_p_prev->next_ = &_node;
}
if (p_next == 0)
tail_ = &_node;
else
p_next->prev_ = &_node;
_node.next_ = p_next;
_node.prev_ = _p_prev;
count_ ++;
}
{
dll_node_t *p_next;
dll_node_t *_p_prev = tail_;
if (_p_prev == 0) {
p_next = head_;
head_ = &_node;
}
else {
p_next = _p_prev->next_;
_p_prev->next_ = &_node;
}
if (p_next == 0)
tail_ = &_node;
else
p_next->prev_ = &_node;
_node.next_ = p_next;
_node.prev_ = _p_prev;
count_ ++;
}