bạn giải thích cái phần else = hình vẽ cho mình cái mình k hiểu 2 dòng đó
void themcuoi(LIST &l,NODE *p)
{
if(l.dau=NULL) l.dau=l.cuoi=p;
else
{
l.cuoi->next=p;
l.cuoi=p;
}
}
bạn giải thích cái phần else = hình vẽ cho mình cái mình k hiểu 2 dòng đó
void themcuoi(LIST &l,NODE *p)
{
if(l.dau=NULL) l.dau=l.cuoi=p;
else
{
l.cuoi->next=p;
l.cuoi=p;
}
}
Cho mình hỏi ké:
tại sao cái hàm thêm đầu của mình cũng viết gần giống bạn này nhưng void InsertFirst(list l,node* p) thì không báo lỗi mà như hình vẽ lại báo lỗi là sao vậy ?
con trỏ C bá đạo. Hôm mình thi môn này mình đã phải học thuộc code.
bạn phải truyền con trỏ tới list l: list *pList vì pList->pHead có thể thay đổi giá trị. Truyền list l là truyền tham trị của l rồi
vậy tại sao mình dùng list &l thì nó lại báo lỗi trong khi bài của bạn Dung_Nguyen3 lại đúng (mình xem video hướng dẫn thì cũng thấy dùng &)
như vậy list &l và list *l là như nhau à?
C đâu có truyền tham chiếu, làm sao viết list& l được
vậy bài trên là dùng C++ à. nếu vậy cho mình hỏi &l và *l có khác nhau không?
Như vậy bài trên mình phải dùng list *l à ?
dùng list* l. Mỗi lần insert phải gán p->pNext = l->pHead rồi l->pHead = p. Ngoài ra còn phải kiểm tra nếu l->pTail == NULL thì phải gán l->pTail = p nữa.
Mình đã làm giống bạn nhưng bài của mình vẫn bị lỗi không hiểu làm sao. Bạn vào xem giúp mình với
nhiều lỗi quá… hầu như hàm nào cũng sai ~.~