Thêm phần tử vào cuối danh sách liên kết đơn

cho em hỏi lỗi chỗ nào mà nó không in ra gì nhỉ

#include<iostream>
using namespace std;

struct node{
    int data;
    node* pNext;
};

node* insertToLast(node* head, int x) {
    node* p = new node;
    p->data = x;
    node* temp = head;
    while ((temp->pNext) != NULL) {
        temp = temp->pNext;
    }
    temp->pNext = p;
    return head;
}

int main() {
    node* head = new node;
    head->data = 1;
    insertToLast(head, 2);
    for (node *i = head; i != NULL; i = i->pNext) {
        cout << i->data << " ";
    }
}

Cho em hỏi chút là làm sao để biết temp->pNext != NULLi != NULL khi mà không biết pNext nó chứa cái gì ạ :thinking: .

4 Likes

temp->pNext như head->pNext mà bạn, sao lại không biết nhỉ

Bây giờ nếu điều kiện dừng là pNext == NULL mà anh chưa biết pNext nó trỏ về NULL hay trỏ đến địa chỉ của 1 biến khác thì làm sao so sánh được ạ.

4 Likes

Bạn trả lời cồng kềnh quá, trả lời node mới khởi tạo phải gán pNext = NULL là được rồi :sweat_smile:

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?