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 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题