Bổ sung “Danh sách liên kết đơn” Hàm xóa node sau node q: void XoáNodeSauNodeQ(LIST &l, NODE *q) { if(q==NULL || q==l.Tail) return; NODE *p=q->pNext; q->pNext=p->pNext; if(q->pNext=l.Tail) l.Tail = q; delete p; } Hàm xóa node cuối : void XoáNodeTail(LIST &l) { NODE *p ; if(l.Head==l.Tail) { delete l.Head; l.Head = l.Tail = NULL; return; } for(p=l.Head;p->pNext!=l.Tail;p=p->pNext); p->pNext=NULL; delete l.Tail; l.Tail = p; }