我正在尝试创建一个允许我在列表头部插入节点的函数。
这是我到目前为止所做的,但我需要一些帮助和建议。你可以请一些亮点吗?因为这几乎是感恩节,我不想再受这种锻炼折磨了吗?
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;
}
答案 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);
}