数据结构单链表插入代码填空

编写程序。已知线性表L,采用链接存储方法,编写程序实现单链表的插入操作,在第i个位置插入新元素x。(注意:不要增加多余的符号,在英文状态下输入)

#include<iostream>

using namespace std;

template <typename T>

stuct Node

{

T data;

Node<T>*next;

};

template <typename T>

class List

{

public:

List(T a[],int n); //建立n个元素的单链表

void Insert(int i,T x); //插入操作,在第i个位置插入元素x

private:

Node<T> *first;

};

template<typename T>

void List<T>:: Insert(int i,T x)

{

Node<T>*p=first,*s=nullptr;

int count=0;

while(____)

{

____;

count____;

}

if(____)throw “插入位置错误”;

else

{

s=____;

____=x;

s->next=____;

p->next=____;

}

}

1  count < i-1 && p
2  p=p->next
3  ++
4  i<0 || count<i-1
5  new Node<T>
6  s->data
7  p->next
8  s

void LinkList<T>::Insert(int i, T x)
{
    Node<T>*p=first,*s=nullptr;
    int count=0;
    while(p!=NULL&&count<i-1)
    {
        p=p->next;
        count++;
    }
    if(p==NULL) throw "插入位置异常";
    else
    {
        s=new Node<T>;
                s->data=x;
        s->next=p->next;
        p->next=s;
    }
}


您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632