Cześć! Mam napisać funkcję, która kopiuje za siebie listę(samą siebie). Mam to zrobić na listach jednokierunkowych.
void DodajZa(node*e,int val){ // e - element za który chcemy wstawić
node*p = new node;
p->next = e->next;
p->val = val;
e -> next = p;
}
node*Clone(node*&H){
node*p = H;
while(p){
node*e = new node;
e->val = p->val;
e->next = p->next;
p->next = e;
p = e->next;
}
}
void Add_copy_to_end(node *&H){
node *R = new node;
R = Clone(H);
node*p=H;
while(p){
p = p->next;
}
DodajZa(R, R->val);
}
Niestety po uruchomieniu programu wyskakuje mi 0. Czy ktoś widzi błąd?