【剑指offer】单链表尾部插入一个节点

来源:互联网 发布:mc怎么知道网络lp 编辑:程序博客网 时间:2024/05/17 05:54
#include <iostream>using namespace std;//链表结构体struct ListNode{int m_Value;ListNode *next;};//创建一个单链表ListNode *CreateList(int *a,int n){ListNode *pHead = NULL;ListNode *pTemp = NULL;int i = 0;for(i = 0; i < n; i++){//ListNode *pNew = (ListNode *)malloc(sizeof(struct ListNode));ListNode *pNew = new ListNode(); //创建一个新的节点pNew->m_Value = a[i];pNew->next = NULL;if(NULL == pHead){pHead = pNew;pTemp = pNew;}else{pTemp->next = pNew;pTemp = pTemp->next;}}return pHead;}//链表尾部插入一个节点void AddTailNode(ListNode **pHead,int key){// ListNode *pNew = (ListNode *)malloc(sizeof(struct ListNode));ListNode *pNew = new ListNode();pNew->m_Value = key;pNew->next = NULL;/*if(NULL == pHead){return;}*/if(NULL == *pHead){*pHead = pNew;return;}ListNode *p = *pHead;ListNode *q = NULL;while(NULL != p){q = p;p = p->next;}q->next = pNew;}int main(void)  {  int a[5] = {3,6,8,2,1};ListNode *p = CreateList(a,5);//ListNode *p = NULL;AddTailNode(&p,4);while(NULL != p){cout<<p->m_Value;p = p->next;}return 0;  }    

阅读全文
0 0
原创粉丝点击