经过几次链表的锻炼,终于总结了一套链表创建以及添加结点的模板。
1.创建头结点;
2.创建新结点;
3.创建链表;
4.打印链表;
遵从这四项原则 建立链表并打印 可以说思路和步骤都很明确!
上节肝了头插,这次写一下尾插,用这四个步骤来一次!
一、创建头结点(垃圾值或者不给值)
ListNode* head = new ListNode;
head->next = NULL;
head->val = 0;
二、创建新结点,并返回一个结点类型
ListNode* creatNode(int value)
{
ListNode* newNode = new ListNode;
newNode->val = value;
newNode->next = nullptr;
return newNode;
}
三、创建链表,将头结点与新结点放在一起,并连接起来
void creatList(ListNode*pHead,int value)
{
ListNode* newNode = creatNode(value);
ListNode* tailNode = pHead;
while(tailNode->next!=NULL)
{
tailNode = tailNode->next;
}
tailNode->next = newNode;
}
四、打印链表,将头结点代入,设置一个访问指针,指向头结点的下一个结点
void printList(ListNode* pHead)
{
ListNode* q = pHead->next;
while(q)
{
cout << q->val;
q = q->next;
}
}



