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

ajutoooooooooooor in c++
Elaborați un program care să determine daca o lista este liniara sau circular

Răspunsuri la întrebare

Răspuns de andrei750238
3

#include <iostream>

using namespace std;

struct nod{

int data;

nod *next = NULL;

};

bool test_circular(nod *n){

   //memorare nod de start

nod *start = n;

 

//Itereaza fiecare nod. Daca gasesti nodul initial retunreaza 1

while(n->next){

       n=n->next;

 if(n->next==start) return 1;

}

//Daca ai ajuns la capatul listei atunci returneaza 0

return 0;

}

int main(){

//Construire lista simpla

nod a,b,c,d;

a.next=&b;

b.next=&c;

c.next=&d;

//Afisare raspuns lista simpla

if(test_circular(&a)) cout << "Lista circulara\n";

else cout << "Lista simpla\n";

//Construire lista circulara

d.next = &a;

//Afisare raspuns lista circulara

cout << endl;

if(test_circular(&a)) cout << "Lista circulara\n";

else cout << "Lista simpla\n";

}


sdsweeeec: Scuze inca nu pot sa-ti dau coroana
Alte întrebări interesante