Hiện tại em đang làm bài trong sách mà ngồi mấy tiếng ko biết sai chỗ nào ở Hàm tách 1 DSLK thành 2 cái ? Nên mạn phép lên trang để hỏi . Mong mọi người giúp đỡ
Em chỉ xin nêu ra chỗ em sai
void O_put_3(List l,List &A,List &B){ // tach 1 DSLK thanh 2 danh sack lien ket
So *DanhSach; DanhSach = l.Head;
int dem = 0;
while(DanhSach != NULL){
if(dem % 2 == 0){
if(A.Head == NULL){
So *temp_1 = DanhSach;
temp_1->pNext = NULL;
A.Head = A.Tail = temp_1;
}
else{
So *temp_1 = DanhSach;
temp_1->pNext = (So *)malloc(sizeof(So)); temp_1->pNext = NULL;
A.Tail->pNext = temp_1;
A.Tail = temp_1;
}
}
else{
if(B.Head == NULL){
So *temp_2 = DanhSach;
temp_2->pNext = NULL;
B.Head = B.Tail = temp_2;
}
else{
So *temp_2 = DanhSach;
temp_2->pNext = (So *)malloc(sizeof(So));
temp_2->pNext = NULL;
B.Tail->pNext = temp_2;
B.Tail = temp_2;
}
}
dem++;
DanhSach = DanhSach->pNext;
}
/*A.Tail->pNext = NULL;
B.Tail->pNext = NULL;*/
}
Em chân thành cảm ơn mọi người đã xem topic này !
Học