空名Noname 2020-06-21 17:27 采纳率: 50%
浏览 382

怎么做到输入多少个数即创建多长的链表

刚学数据结构,求助

怎么做到输入多少个数即创建多长的链表

按书上的代码,是要输入一个n值来确定链表的长度的

但是这样就做不到动态分配内存了


int CreateList(LinkList& L, int n)
{
    int t;
    L = new LNode;
    L->next = NULL;                    //建立一个带头的空链表
    for (int i = 0; i < n; ++i)        //这里的循环以n为条件
    {
        p = new LNode;                 //这里是生成新的节点
        cin>>p->date;                  //赋值
        p->next = L->next;
        L->next = p;
    }
    return OK;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-06-21 18:22
    关注

    你可以输入任意个数,输入0结束:

    int CreateList(LinkList& L)
    {
        int t;
        L = new LNode;
        L->next = NULL;                    //建立一个带头的空链表
        for (int i = 0; 1; ++i)        //这里的循环以n为条件
        {
                int a;
                    cin >> a;
                    if (a == 0) break;
            p = new LNode;                 //这里是生成新的节点
            p->date=a;                  //赋值
            p->next = L->next;
            L->next = p;
        }
        return OK;
    }
    
    评论

报告相同问题?