YXTS122 2016-01-21 10:04 采纳率: 100%
浏览 1512
已采纳

这输出结果不对,怎么办?

 #include <stdio.h>
#include <stdlib.h>
typedef struct node
{
    int data;
    struct node *next;
}Node;

Node *createLink()
{
    Node *head=(struct node*)malloc(sizeof(struct node));
    Node *temp=head;
    int i=0;
    int a[10] = {1,2,3,5,7,9,10,14,15,20};
    while (i<10)
    {
        Node *n=(struct node*)malloc(sizeof(struct node));
        n->data = a[i];
        n->next = NULL;
        if(i==0)
        {
            head=temp=n;
        }
        else
        {
            temp->next = n;
            temp = n;
        }
        i++;
    }
    return head;
}

Node *insert(Node *head,int data)//就是这个函数
{
    Node *p=head,*pr=NULL,*pb=head;
    pr=(Node *)malloc(sizeof(struct node));
    if(pr==NULL)
    {
        printf("NO enough memory!\n");
        return head;
    }
    pr->data=data;
    pr->next=NULL;
    while(p->data<data&&p->next!=NULL)
    {
        pb=p;
        p=p->next;
    }
    if(p->data>=data)
    {
        if(p==head)
        {
            pr->next=head;
            head=pr;
        }
        else
        {
            p=pb;
            pr->next=p->next;
            p->next=pr;
        }

    }
    else
    {
        p->next=pr;
    }
    return head;
}


void Print(Node *head)
{
    head=head->next;
    while (head!=NULL)
    {
        printf("%d ", head->data);
        head=head->next;
    }
}

int main()
{
    Node *h1=NULL;
    h1=createLink();
    int d;
    scanf_s("%d", &d);
    h1=insert(h1,d);
    Print(h1);
    system("pause");
    return 0;
}

图片说明

  • 写回答

4条回答 默认 最新

  • 91program 博客专家认证 2016-01-21 10:12
    关注

    第一个问题:

    void Print(Node *head)
    {
        head=head->next;     // 会导致第一个元素不会输出
        while (head!=NULL)
        {
            printf("%d ", head->data);
            head=head->next;
        }
    } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择