xiaopangtou123 2016-05-20 23:59 采纳率: 28.6%
浏览 1726

链表的插入 插入函数写好了 在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条回答 默认 最新

  • threenewbee 2016-05-21 03:26
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)