online: 10; azi: 1099; total: 51554 Manual clasa a xi a - Implementarea structurilor de date - Lista liniara

Probleme Rezolvate



Manual clasa a Xi a

Implementarea structurilor de date

Lista liniara

Sa creează o listă în care ordinea de acces este cea în care sunt citite numerele din fisier . Să se afiseze în ordine inversa numerele din listă. (indicație. Se implementează un algoritm recursiv de parcurgere a listei.)
# include < iostream >
# include < fstream >
# include < string >
using namespace std ;
struct Node {
int value ;
Node * next ;
};
Node * createList ( string filename ) {
ifstream file ( filename ) ;
Node * head = nullptr ;
int value ;
while (file >> value ) {
Node * newNode = new Node { value , head };
head = newNode ;
}
file. close ();
return head ;
}
void printReverse ( Node * head ) {
if ( head == nullptr ) {
return ;
}
printReverse ( head -> next );
cout << head -> value << " " ;
}
int main () {
Node * head = createList ( "file.txt" );
cout << " List : " ;
while ( head != nullptr ) {
cout << head -> value << " " ;
head = head -> next ;
}
cout << endl ;
cout << "Reverse list : " ;
printReverse ( head );
cout << endl ;
// eliberam memoria alocata dinamic pentru noduri
while ( head != nullptr ) {
Node * temp = head ;
head = head -> next ;
delete temp ;
}
return 0 ;
}