| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 318 人关注过本帖
标题:这一段单链表有问题,不知道哪里错了,求教~~
只看楼主 加入收藏
pthtc
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-6-29
结帖率:50%
收藏
已结贴  问题点数:8 回复次数:1 
这一段单链表有问题,不知道哪里错了,求教~~
#include<stdio.h>
#include<malloc.h>
typedef struct node
{
    int data;
    int site;
    struct node *link;
}NODE;

NODE *creat()
{
    NODE *p,*q,*head,*tail;                                                                                                                                                                                                                                                                                             
    int num,i=0;
    head=tail=NULL;
    printf("int put num end with -1:\n");
    scanf("%d",&num);
    while(num!=-1)
    {
        i++;
        p=(NODE *)malloc(sizeof(NODE));
        if(p==NULL)
        {
            printf("fail");
            return NULL;
        }
        p->data=num;
        p->site=i;
        p->link=0;
        if(head==NULL)
        {
            head=p;
        }
        else
        {
            tail->link=p;
        }
        tail=p;
        scanf("%d",&num);
    }
    return head;
}

int countlist(NODE *head)
{
    int i=0;
    while (head)
    {
        i++;
        head=head->link;
    }
    return i;
}

NODE *insertlist(NODE *head,int num,int i)
{
    NODE *p,*q;
    int j;
    p=q=NULL;
    p=head;
    for(j=0;;j++)
    {
        if(p->site!=i)
        {
            p=p->link;
            continue;
        }
        else
        {
            q->data=num;
            q->site=p->site+1;
            q->link=p->link;
            p->link=q;
            return head;
        }
    }
}

void printlist(NODE *head)
{
    while (head)
    {
        printf("%d",head->data);
        head=head->link;
    }
    return;
}

main()
{
    NODE *a;
    a=creat();
    insertlist(a,88,2);
    printlist(a);
}
搜索更多相关主题的帖子: include 
2015-04-05 20:18
zhou78yang
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:18
专家分:100
注 册:2014-3-18
收藏
得分:8 
1、首先我吐槽一下,既然是提问题,你先把你的想法什么的说一下,然后加上注释,没注释贴这样一串代码除了我这种半夜睡不着闲的蛋疼的谁有耐心看完啊。
2、既然你写了countlist干嘛还要在结构体里多加个site(话说你这命名真心挺醉的)

以下是问题:
3、你p->link=0是什么鬼,link指向的是node类型吧,而tail->link=p,第一次tail都还是null哪来的link嘛。其他的函数应该都没错,但create问题挺多的。
4、如果我没猜错你应该是要弄个正序输入创建的单链表。如果是的话建议使用一个NewNode指针变量来生成新结点,将第一个节点同时使用Head和Tail指向,接着使用Tail将一个个NewNode连接起来就行了
2015-04-07 03:44
快速回复:这一段单链表有问题,不知道哪里错了,求教~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015114 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved