Jamesyoung36 2017-04-02 09:20 采纳率: 21.1%
浏览 824

新手写链表,错误已找出,求解决

 #include<iostream>
using namespace std;

struct linklist
{
    linklist* next;
    int data;
};

linklist* initll()
{
    linklist* temp = new linklist;
    temp->next = NULL;
    temp->data = 0;
    return temp;
}

void output(linklist* head)
{
    cout << "该链表的长度为:" << head->data << endl;
    if (head->data != 0)
    {
        cout << "该链表的内容为:";
        linklist* temp = head->next;
        for (int i = 0; i < head->data; i++)
        {
            cout << temp->data << ",";
        }
        cout << endl;
    }
}

void insert(linklist* head, int pos, int value)
{
    linklist* a = new linklist;
    a->data = value;
    linklist* p = head;
    for (int i = 1; i < pos; i++)//查找位置
    {
        p = p->next;
    }
    a->next = p->next;
    p = a->next;
    head->data++;
}

int main()
{
    linklist* head;
    head = initll();
    output(head);
    for (int i = 0; i < 10; i++)
    {
        insert(head, 1, i);
    }
    output(head);
    cout << endl;
}

错误在主函数中最后一个输出函数,在输出内容的时候出错?为什么呢?

  • 写回答

2条回答 默认 最新

  • markul 2017-04-02 09:53
    关注

    insert操作有问题,
    a->next = p->next;

    p->next = a;

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器