单链表-用尾插法创建单链表

#include <iostream>
#include <stdlib.h> 
using namespace std;


typedef int ElemType;          //自定义数据类型


typedef struct LNode{          //定义单链表结点类型
    ElemType data;         //存放元素值
    struct LNode *next;    //指向后继节点
}LinkList;


void CreateListR(LinkList * &L,ElemType a[],int n){    //创建单链表
    LinkList *s , *r;
    int i;
    L=(LinkList *)malloc(sizeof(LinkList));        //创建头节点
    r=L;                                           //r始终指向尾节点,开始时指向头节点
    for(i=0;i<n;i++){ 
        s=(LinkList *)malloc(sizeof(LinkList)); 
        cin>>a[i];
        s->data = a[i];                        //创建数据类型 *s
        r->next = s;                           //将*s插入*r之后
        r=s;                                   
    } 
    r->next = NULL;                                //尾节点next域置为NULL
}


void DispList(LinkList *L){                            //输出单链表
    LinkList *p = L->next;                         //p指向开始节点
    while(p!=NULL){                                //p!=NULL,输出*p节点的data域
        cout<<p->data<<" ";
        p=p->next;                             //p移向下一个节点
    }
    cout<<endl;
}


int main(){
    int n,a[10],i;
    LinkList *L;                                   
    cin>>n;;
    CreateListR(L,a,n);
    DispList(L);
    return 0;
} 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【ACGO】我不会C++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值