链表的构建和链表的输出

//利用指针解决数据存储在链表上,无法输出的问题

//链表的构建,以及链表的访问的实现

//指针的利用

//指针、链表、链表的存储、链表的访问

#include <stdio.h>

#include <stdlib.h>//导入一个c库文件为下边malloc动态分配地址、null空地址

#define max 10   //第一一个Max的值


typedef struct  Lnode{  //定义链表,链表的结构

    int date;

    struct Lnode *next;

}Lnode;


//把数组中得数据存储到链表上,链表的存储(调用函数)

int *create(Lnode *l,int m[],int n){

    Lnode *r,*s;   //    第一两个链表指针

    l = (Lnode *)malloc(sizeof(Lnode));  //    动态分配一个链表节点l,头指针。

    r = l;                 //    把头指针赋给r,把头指针保存起来。

    l->next = NULL;        //    头指针的初始化定义

    for (int i = 1; i<=n; i++) {    //    数据链表的存储

        s = (Lnode*)malloc(sizeof(Lnode));

        printf("请输入数组m中第%d个数字:\n",i);

        scanf("%d",&m[i]);

        s->date = m[i];  //     利用尾插法建立数组链表

        r->next = s;

        r = r->next;

    }

    r->next= NULL;

    return l;   //    返回链表的头指针

}


//输出链表上得数据(调用函数)

void prin(Lnode *l){

    l = l->next;

    for (int j= 1; j<=10; j++) {

        printf("%d\n",l->date);

        l = l->next;

    }

}



//主函数

int main(int argc, const char * argv[])

{

    Lnode *l;

    int m[max];

    int n = 10;

    Lnode *p =create(l, m, n);  //    调用链表建立函数

    prin(p);  //    调用链表输出程勋

    // insert code here...

    return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值