数据链的建立和数据链的输出

/*

    本次程序主要实现数据链的存储和输出,并把输出的数值写在一个文件中

    

 “本程序的主要代码是在定义

 

          Lnode *p=L->next;//定义一个结点指针p指向头结点的下一个结点

 还有数据链建立之后,数据链上得指针不能返回,只有利用创立的方法中调用修改数据链的方法(再写方法——方法中套方法)


*/



#include <stdio.h>

#include <stdlib.h>


// 第一一个数据链

typedef struct Lnode{

    int  date;

    struct Lnode *next;

}Lnode;


//输出一个数据链中数值 ,并把输出的值保存到一个文件里


void dispList(Lnode *L)

{

    FILE *f;

    f = fopen("/Users/tarena0/Desktop/Lnode.txt", "w");

    Lnode *p=L->next;//定义一个结点指针p指向头结点的下一个结点

    while(p){   //如果p不为空则循环

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

        fprintf(f, "%d",p->date);

        p=p->next;//移动指针p遍历链表

        

    }

    fclose(f);

}


//建立一个数据链,把数组中得数组存储到数据链中


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

    //定义两个指针,一个用来保存头指针,另一个用来建立数据链

    Lnode *s ,*r;

    //申请一个数据链的一个节点

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

        r = l;//用来保存头指针

    l->next = NULL;//头节点清空

    for (int i= 1; i<= n ; i++) {

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

        //定义一个动态的数据链节点,用来申请空间,并建立数据链

        printf("请输入第%d个数字:",i );

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

        //数据链建立尾插法

        

        s->date = m[i];

        

        r->next = s;

        r = r->next;

    }

    r->next = NULL;

    dispList(l);

}

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

{

    int n;

    int m[n];

    Lnode *l;

    printf("请输入数组长度n:");

    scanf("%d",&n);

    create(l, m, n );//方法调用

    return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值