Em đang muốn xoá phần tử ở một index bất kì trong linked list dùng hàm bool và em viết như sau:
bool removeE(node* list, int indx) {
node* head = list;
if (indx == 0) {
list = list->next;
delete head;
return true;
}
for (int i = 0; i < indx - 1; i++) {
if (!(head->next)) return false;
head = head->next;
}
head->next = head->next->next;
return true;
}
và kết quả chạy ra đúng với mọi trường hơp chỉ trừ trường hợp index = 0 thì phần tử ở thứ [0] không bị xoá đi và kết quả ra list vẫn giữ nguyên (hàm vẫn trả về true…)
Em có viết hàm tương tự với giá trị trả về là môt list (node*) thì nó lại ra đúng ấy… thật không hiểu sao cho return bool thì lại sai nhỉ