白驹_过隙 2023-03-02 10:39 采纳率: 91.7%
浏览 44
已结题

已知某结点元素值,返回对应结点的指针

用链式存储结构设计算法,要求已知某结点元素值,返回对应结点的指针,可以参考下面函数声明形式。
函数: LinkList * getAdd(LinkList * L,DataType X )
我自己写的一直报错,求修改

#include <stdio.h>
#include <stdlib.h>
typedef int Status;
typedef int DataType;
typedef struct Node{
    DataType data;
    struct Node *next;
}Node;
typedef struct Node *LinkList;
void CreateListHead(LinkList *L,int m[],int n){
    LinkList p;
    int i;
    *L=(LinkList)malloc(sizeof(Node));
    (*L)->next=NULL;
    for(i=0;i<n;i++){
        p=(LinkList)malloc(sizeof(Node));
        p->data=m[i];
        p->next=(*L)->next;
        (*L)->next=p;
    }
}
LinkList* getAdd(LinkList *L,DataType X)
{
    LinkList *t = L;
    while(t != NULL)
    {
        if(t->data == X)
            return t;
        t = t->next;
    }
    return NULL;
}
int main(){
    LinkList L;
    int i,k,j,n,e,m[1000];
    printf("请输入要存储元素的总个数:");
    scanf("%d",&n);
    printf("请输入各个元素的值:");
    for(i=0;i<n;i++){
        scanf("%d",&m[i]);
    }
    CreateListHead(L,m,n);
    LinkList temp=getAdd(L, 2);
    printf("%d",temp->data);
    return 0;
}

  • 写回答

1条回答 默认 最新

  • 於黾 2023-03-02 11:01
    关注

    LinkList本身已经是个指针了
    LinkList *又是个啥东西,所有的LinkList *要替换成LinkList ,*L替换为L
    getAdd(L, 2)这里把2写死了又是几个意思
    总之你这代码问题多了去了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月10日
  • 已采纳回答 3月2日
  • 修改了问题 3月2日
  • 创建了问题 3月2日

悬赏问题

  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan