30/09/2018, 21:12

Cần Người hướng dẫn sửa lỗi về LINK LIST

em đang viết hàm xóa node cuối của link list. Định là cho duyệt từ đầu tới cuối LIST
sau đó cho cái node kế cuối bằng node cuối. còn node cuối thì bằng null
nhưng ko hiểu sao sau khi thực hiện thì cả list chỉ còn mỗi phần tử đầu (node Head) :))

void deleteTail(list &l)
{
	NODE *p = l.pHead;
	for(NODE *k = l.pHead; k != NULL; k = k->pNext)
	{
		if(k ->pNext == l.pTail)
		{
			l.pTail = k;
			p ->pNext = NULL;
		}
	}
}
SaNuCo viết 23:15 ngày 30/09/2018

bạn Sai cái Chỗ p=l.Head thì trong if p->Next=NULL.
Thì chẳng khác gì kết thúc hàm thì còn mỗi thằng l.Head thôi

void deleteTail(list &l)
{

for(NODE *k = l.pHead; k != NULL; k = k->pNext)
{
	if(k ->pNext == l.pTail)
	{
		l.pTail = k;
		k ->pNext = NULL;
	}
}

}

Lép Xẹp viết 23:20 ngày 30/09/2018

cảm ơn bạn mình bị nhầm chổ ấy.

Bài liên quan
0