插入链接的List C ++的头部

时间:2013-11-26 19:04:52

标签: c++ linked-list

我正在尝试创建一个允许我在列表头部插入节点的函数。

这是我到目前为止所做的,但我需要一些帮助和建议。你可以请一些亮点吗?因为这几乎是感恩节,我不想再受这种锻炼折磨了吗?

void List::insertAtHead(int addData) {
    nodePtr n = new node;
    n->next = NULL;
    n->data = addData;

    if(head != NULL){
        n->next = head;
        head = n;
    }

    else
    {
        head = n;
    }

1 个答案:

答案 0 :(得分:3)

尽管node*,但可以简化:

void List::insertAtHead(int addData){
    node* n = new node;
    n->next = head;
    n->data = addData;

    head = n;
}

根据Zac Howland的建议:

struct node
{
    int data;
    node* next;

    node(int data,node* next)
        :data(data)
        ,next(next)
    {}
};

void List::insertAtHead(int addData){
    head = new node(addData,head);
}