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

/*

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

    

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

 

          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;

}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高级数据链路控制(HDLC)是一种面向比特的同步数据链路控制协议,它用于在数据通信过程中实现传输控制和错误检测。 NRZI(非归零码反转)是一种编码技术,它通过不改变信号的电平来表示比特的值,只在信号发生改变时表示0或1。在NRZI编码中,当比特为1时,信号保持不变,当比特为0时,信号发生改变。 V’ERI’是一种使用Verilog语言编写的代码,它用于实现NRZI编码和解码过程。该代码包括编码模块和解码模块,使用状态机来处理输入的数据位,并根据输入数据生成相应的编码或解码输出。编码模块将输入的比特流转换为NRZI编码信号输出,解码模块将NRZI编码的信号转换为原始比特流输出。 在这个问题中,我无法提供完整的V’ERI’代码,因为它可能具体实现的细节会有所不同。然而,您可以通过以下步骤来实现NRZI编码和解码的Verilog代码。 1. 定义输入和输出信号:您需要定义输入比特流和编码/解码信号的位宽,并创建相应的输入和输出端口。 2. 创建状态机:使用Verilog中的状态机来处理输入的数据位。状态机根据当前输入比特和当前状态来确定下一个状态,并在状态转换过程中生成相应的输出信号。 3. 编码模块:在编码模块中,使用状态机来处理输入比特流。当输入比特为1时,输出信号保持不变。当输入比特为0时,输出信号发生改变。 4. 解码模块:在解码模块中,同样使用状态机来处理输入NRZI编码信号。当输入信号保持不变时,输出比特为1。当输入信号发生改变时,输出比特为0。 5. 结束:最后,您需要将编码和解码模块连接到您的主模块中,并通过仿真或实际硬件测试验证代码的正确性。 这些步骤提供了一个大致的框架,您可以根据具体的应用需求和编码规范进行修改和调整。希望这个回答能帮助到您!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值