xiaopangtou123
xiaopangtou123
采纳率28.6%
2016-05-20 23:59 阅读 1.7k

链表的插入 插入函数写好了 在main函数中调用 然而最后的结果并没有实现插入的功能

struct Link *InsertNode01(struct Link *head,int nodeData,int i)
{ int j=1;

struct Link *pr = head, *p, *temp = NULL;
p = (struct Link *)malloc(sizeof(struct Link));
if(p == NULL)
{
printf("NO enough memory");
exit(0);
}
p->next = NULL;//置新节点的指针域为空
p->data = nodeData;//为新节点赋数据域的值
if(head == NULL)//插入新节点前,对原链表的一个判断,不同情况插入的方法不同
{
head = p;
}
else
{ if(i = 1)
{
p->next = head;
head = p;

    }
    else
    {  while(j < i && pr->next != NULL)
       {
           temp = pr;
           pr = pr->next;
           j++;
       }
       if(j = i)
       {
            pr = temp;
            p->next = pr->next;
            pr->next = p;
       }
       else
       {
           pr -> next = p;
       }

    }

}

return(head);

};


图片说明

 int main()
{
    int i = 0;
    int place = 0;
    int nodeData;
    char c;
    struct Link *head = NULL;//指向链表头
    printf("Do you want to append a new node(Y/N)");
    scanf(" %c",&c);
    while(c=='Y' || c=='y')
    {
        head = AppendNode(head);
        DispLink(head);//显示当前各节点信息
        printf("Do you want to append a new node(Y/N)");
        scanf(" %c",&c);
        i++;
    }
    printf("%d new nodes have been appended!\n",i);
    printf("please input the nodeData you want to delete:");
    scanf("%d",&nodeData);
    DeleteNode(head,nodeData);
    DispLink(head);
    printf("please input the nodeData you want to insert:");
    scanf("%d",&nodeData);
    printf("输入插入的位置");
    scanf("%d",&place);
    InsertNode01(head,nodeData,place);
    DispLink(head);
    //InsertNode(head,nodeData);

    //DeleteMemory(head);//释放分配内存
    return 0;
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-05-21 03:26

    把你的代码贴全了。包括main函数调用的代码。

    点赞 评论 复制链接分享
  • qq423399099 小灸舞 2016-05-21 09:22

    if(i = 1)少了一个= 应该是if(i == 1)
    PS:楼主代码也没贴全,没法帮你调试,自己单步调试先试一下
    单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

    点赞 评论 复制链接分享

相关推荐