C++链表插入有一点不明白,想请教.. ...
template<class datatype> bool LIST <datatype> ::insert_data(datatype data,int i)
{
NODE <datatype> *current,* previous, * newnode;
int j=1;
if((i>length()+1)||(i<0));
{
cout<<"插入不正确!";
return false;
}
newnode=new NODE<datatype>;
if(newnode==NULL)
{
cout<<"内存无空间!";
riturn false;
}
newnode->data=data;//元素放入数据域.. ...第1句
newnode->next=NULL; //NULL放入指针域.. ...第2句
if(i==1)
{
newnode->next=head; //这里不怎么懂.... ..第3句
head=newnode; //....... ..... .....第4句
return true; //这里返回的是什么...第5句
}
current=previous=head;
while(current!=NULL&&j<i)
{
previous=current;
current=current->next;
j++;
};
newnode->next=current; //这句和 下一句 是什么意思?当i=1或者3时它的作用是?.. ...最后两句
previous->next=newnode;
return true;
}
.. ........ ...先谢谢大家的回答了!我还没分数,可以以后加吗?......... ..........