zuimman 2019-04-15 21:06 采纳率: 0%
浏览 417

用链表存数据,为什么运行之后什么都没有

#include
#include
typedef struct node{
int data;
struct node *next;
}*sqlist;//定义链表结构

sqlist creatlist(int n){//创建单向链表
sqlist head,p,q;
head=p=(sqlist)malloc(sizeof(node));
for(int i=0;i q=(sqlist)malloc(sizeof(node));
q->data=i;
p->next=q;
p=q;
}
p->next=NULL;
return head;
}

void printlist(sqlist head){// 创建单向非循环链表
sqlist p=head->next;
while(p!=NULL){
printf("%d",p->data);
p=p->next;}
printf("\n");
}

void freelist(sqlist head){//释放链表
sqlist p,q;
p=head;
q=p->next;
while(q!=NULL){
q=p;
q=q->next;
free(p);}
free(head);
}

int main(){
int n;
sqlist head;
scanf("%d",&n);
head=creatlist(5);
printlist(head);
freelist(head);
return 0;
}


  • 写回答

1条回答 默认 最新

  • 浅草夏洛洛 2019-04-20 23:03
    关注

    创建单项链表for循环有问题
    修改了下

    sqlist creatlist(int n)//尾插法创建有头结点的单向链表
    {
        sqlist head, p, q;
        head = (sqlist)malloc(sizeof(struct node));
        p = head;
        for(int i = 0;i < n; i++)
        {
            q = (sqlist)malloc(sizeof(struct node));
            q->data = i;
            p->next = q;
            p = q;
        }
        p->next=NULL;
        return head;
    }
    

    还有就是释放内存那

    void freelist(sqlist head)
    {//释放链表
        sqlist p,q;
        p = head;
        while(q!=NULL)
        {
            p = q;
            q = p->next;
            free(p);
        }
    }
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧