1、前言:
尾插法,借助尾指针r,相当于媒婆,将原节点与新增节点P相连接,相比于头插法的好处是输入与输出顺序一致,如输入12345,输出也是12345
2、实现代码:
#include<stdio.h>
#include <stdlib.h>
//define a struct
//定义一个结构体,也就是节点
typedef struct Node {
int data; // 存储链表数据
struct Node *next; // 存储结点的地址
}LNode,*LinkList;
//链表尾插法
LNode* List_TailInsert(LNode *L,int a[],int n){
//尾插法
LNode* rear;
L = new LNode;
rear = L;
for(int i=0;i<n;i++){
LNode* p= new LNode;
p->data = a[i];
rear->next = p;
rear = rear->next;
}
rear->next = NULL;
return L->next;
}
//主函数,给链表赋值并打印出链表
int main(){
int arr[] = {1,2,3,4,5};
int n = 5;
LNode *L = NULL;
L = List_TailInsert(L,arr,n);
while(L!=NULL){
printf(" %d ",L->data);//算上头节点一共六个节点,并且头节点数据域为NULL,所以输出的第一个值应该为 L->next->data
L = L->next;
}
}
看没看懂都点个赞呗~~~