Varog mul urgent in c++ si cu explicare cum functioneaza programul
Scrieţi o funcţie care să primească ca parametru adresa primului nod al unei liste simplu înlănţuite şi care să returneze numărul de noduri ale listei.
Răspunsuri la întrebare
fie lista:
struct Node{
int num;
Node* link;
};
--------------------------------------------------------------------------------------------------------------
raspuns:
int CountLinkedNodes(Node* head){
int n=0;
while (head!=NULL){
n++;
head=head->link;
}
return n;
}
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
functia main:
int main()
{
Node* head=NULL;
Input(head, 1);
Input(head, 2);
Input(head, 3);
Input(head, 4);
Input(head, 5);
cout<<CountLinkedNodes(head);
}
--------------------------------------------------------------------------------------------------------------
functia Input:
void Input(Node* &head, int n){
Node* elem=new Node;
elem->num=n;
elem->link=NULL;
if (head==NULL) head=elem;
else{
Node* loophead=head;
while (loophead->link!=NULL) loophead=loophead->link;
loophead->link=elem;
}
}
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
EXPLICATIE
cam usor de inteles, pentru fiecare node existent, n se incrementeaza.