m0_62106684 2021-10-10 23:15 采纳率: 20%
浏览 116
已结题

数据结构链表的创建(C语言)

才开始学习数据结构,链表的创建那一章,感觉书上和网上的代码都是没有具体数据的,想自己写一个能有具体数据的,不然也不知道那些函数是对是错哇,可以用头插法把数据填到链表里么,具体怎么搞哇,好难啊啊啊啊

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2021-10-11 09:09
    关注

    供参考:

    #include <stdio.h>
    #include <malloc.h>
    typedef int EmelType;
    typedef struct LNode {
        EmelType      data;
        struct LNode* next;
    }LNode, * LinkList;
    int  InitList_L(LinkList* L);
    void CreatList(LinkList* L, EmelType n);
    void PrintList(LinkList L);
    int main() 
    {
        LinkList L1, L2;
        EmelType i = 0, n1 = 0, n2 = 0;
        InitList_L(&L1);
        InitList_L(&L2);
    
        printf("L1中的结点个数\n");
        scanf("%d", &n1);
        CreatList(&L1, n1);
    
        printf("L2中的结点个数\n");
        scanf("%d", &n2);
        CreatList(&L2, n2);
    
        PrintList(L1);
        PrintList(L2);
        return 0;
    }
    //初始化
    int InitList_L(LinkList* L) 
    {
        (*L) = (LinkList)malloc(sizeof(LNode));
        (*L)->next = NULL;
        return 1;
    }
    //头插法建立单链表
    void CreatList(LinkList* L, EmelType n)
    {
        int i;
        LNode * p;
        printf("请输入%d个结点的值:", n);
        for (i = n; i > 0; --i) {
            p = (LNode*)malloc(sizeof(LNode));
            p->next = NULL;
            scanf("%d", &p->data);
            p->next = (*L)->next;//插入到表头
            (*L)->next = p;
        }
    }
    void PrintList(LinkList L)
    {
        LinkList p = L->next;
        while (p)
        {
            printf("%d ", p->data);
            p = p->next;
        }
        printf("\n");
    }
    
    
    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 专家已采纳回答 10月14日
  • 创建了问题 10月10日

悬赏问题

  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
  • ¥15 C++为什么这个代码没报错运行不出来啊
  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请