C++ 实现列表:在末尾添加一个节点

C++ 实现列表:在末尾添加一个节点,c++,list,C++,List,所以现在我的列表应该如下所示: //function to insert at the end of the list nodLista* inserareSfarsit(nodLista* capat,Produs p) { nodLista* nou= creareNod(p); if(capat==NULL) { capat=nou; return nou; } nodLista* temp=capat; while(temp->

所以现在我的列表应该如下所示:

//function to insert at the end of the list
 nodLista* inserareSfarsit(nodLista* capat,Produs p)
{
nodLista* nou= creareNod(p);
if(capat==NULL)
    {
    capat=nou;
    return nou;
    }


    nodLista* temp=capat;
    while(temp->next!=NULL)
        {
        temp=temp->next;
        temp->next=nou;
        return capat;
        }
}    

void main(){
nodLista* capatLista=NULL;
Produs p,p1,p2,p3,p4;
p1=generator("lapte",2);
p= generator("cafea",20);
p2=generator("seminte",10);
p3=generator("sticle",3);
p4=generator("pahare",4);
//afisareProdus(p);
afisareLista(capatLista);
capatLista=inserareInceput(capatLista,creareNod(p1));
//afisareLista(capatLista);
capatLista=inserareInceput(capatLista,creareNod(p2));
capatLista=inserareInceput(capatLista,creareNod(p3));
capatLista=inserareSfarsit(capatLista,p4);
afisareLista(capatLista);

_getch();
}
sticle 3
seminte 10
lapte 2
但当我在最后添加p4产品时,它看起来是这样的:

//function to insert at the end of the list
 nodLista* inserareSfarsit(nodLista* capat,Produs p)
{
nodLista* nou= creareNod(p);
if(capat==NULL)
    {
    capat=nou;
    return nou;
    }


    nodLista* temp=capat;
    while(temp->next!=NULL)
        {
        temp=temp->next;
        temp->next=nou;
        return capat;
        }
}    

void main(){
nodLista* capatLista=NULL;
Produs p,p1,p2,p3,p4;
p1=generator("lapte",2);
p= generator("cafea",20);
p2=generator("seminte",10);
p3=generator("sticle",3);
p4=generator("pahare",4);
//afisareProdus(p);
afisareLista(capatLista);
capatLista=inserareInceput(capatLista,creareNod(p1));
//afisareLista(capatLista);
capatLista=inserareInceput(capatLista,creareNod(p2));
capatLista=inserareInceput(capatLista,creareNod(p3));
capatLista=inserareSfarsit(capatLista,p4);
afisareLista(capatLista);

_getch();
}
sticle 3
seminte 10
lapte 2
所以产品lapte已经消失了

//inserareInceput在列表的开头插入一个节点


//Afisaresta:显示列表

将这两行移出循环,即可完成以下操作:

sticle
seminte
pahare