单链表之尾插法

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;
    }
}

看没看懂都点个赞呗~~~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值