Informatică, întrebare adresată de sjjdgs, 8 ani în urmă

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

Răspuns de lockedssouls
2

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.

Anexe:
Alte întrebări interesante