为什么用数据结构中的程序在c语言中使用不了

img


就好比这个开头中,在运行时他一直显示有错误,说什么LinkList识别不到之类的

去掉这一行结尾的分号

因为LinkList这个结构体你文件这个函数前面没有,引用的头文件也没有,当然会报错识别不到,另外那个分号要删

【相关推荐】



  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7737566
  • 这篇博客你也可以参考下:C语言 数据结构 结构体 LinkList
  • 除此之外, 这篇博客: 数据结构(C语言版)严蔚敏——2.3线性链表类型定义中的 1:LinkList.h文件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    #include<stdio.h>
    #define MAXSIZE 20
    #define TRUE 1
    #define FALSE 0
    typedef int Status;
    typedef int ElemType;//定义元素的类型
    
    typedef struct LNode {
    	ElemType data;
    	struct LNode *next;
    }LNode,LinkList;
    
    //初始化一个空的线性表,使其长度为0
    Status InitLinkList(LinkList *L);
    
    //销毁线性表
    Status DestroyLinkList(LinkList *L);
    
    //添加一个元素e到线性表中
    Status AddElem(LinkList *L, ElemType e);
    
    //重置线性表,使其长度为0,data从新分配内存
    Status ClearList(LinkList *L);
    
    //返回线性表的长度
    Status ListLength(LinkList L);
    
    //返回当前位子元素
    Status GetElem(LinkList L, int index, ElemType &e);
    
    //归并两个线性表
    Status MargeList(LinkList *La, LinkList *Lb, LinkList &Lc);
    
    //定位元素所在位子//该节中未实现
    Status Compare(ElemType e, ElemType data);
    Status LocationElem(LinkList *L, ElemType e, Status(Compare)(ElemType, ElemType));
    
    //在index上插入一个e
    Status Insert(LinkList *L, int index, ElemType e);
    
    //在index上删除一个e
    Status Delete(LinkList *L, int index, ElemType &del_e);
    
    //定义一个打印函数
    void PrintElem(ElemType e);
    //使线性表中的每个元素通过PrintElem函数打印出来
    Status LinkListTraverse(LinkList *L, void(Visit)(ElemType));
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^