Analiziraj ovaj kod. Podatke iz tvoje txt datoteke veže u dvostruku listu i zatim je ispisuje. Pogledaj komentare, ne da mi se pisati objašnjenja nadugo.
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
struct cvor
{
   string pjesma;
   string izvodjac;
   string vrijeme;
   cvor *naprijed;
   cvor *nazad;
}*pocetak = NULL, *trenutni, *pomocni;
void dodaj()
{
   if (pocetak == NULL) // ako na listi nema nijednog cvora
   {
      pocetak = trenutni;
      trenutni->naprijed = NULL;
      trenutni->nazad = NULL;      // ovaj cvor nam je prvi, prednji i zadnji pokazivac su mu null 
   }
   else
   {
      pomocni = pocetak;                // uzimamo pomocni cvor i stavljamo ga na pocetak
      while (pomocni->naprijed != NULL)
      {
         pomocni = pomocni->naprijed;   // pomocni cvor seta na kraj liste
      }
      pomocni->naprijed = trenutni;    // onaj na kraju liste prednji veze za nas trenutni kojeg ubacujemo
      trenutni->nazad = pomocni;       // nas trenuni zadnji veze za onog na kraju liste
      trenutni->naprijed = NULL;       // povezali smo trenutni, prednji je null
   }
}
void ispis()
{
   pomocni = pocetak;   // pomocni na pocetak
   while (pomocni->naprijed != NULL)   // pomocni seta do zadnjeg
   {
      cout << pomocni->pjesma << endl << pomocni->izvodjac << endl << pomocni->vrijeme << endl;
      pomocni = pomocni->naprijed;
   }
   cout << pomocni->pjesma << endl << pomocni->izvodjac << endl << pomocni->vrijeme << endl;   // u while je zadnji ostao neispisan
}
int main()
{
   ifstream citaj;
   string linija;
   citaj.open("myPlayList.txt");
   if (citaj.is_open())
   {
      while (!citaj.eof())
      {
         trenutni = new cvor(); // alociramo novi cvor
         getline(citaj, linija);   // kupimo podatke iz datoteke za njega
          trenutni->pjesma = linija;
         getline(citaj, linija);
         trenutni->izvodjac = linija;
         getline(citaj, linija);
          trenutni->vrijeme = linija;
         dodaj();                   // idemo ga dodati na listu
      }
   }
   else
      cout << "greska";
   ispis();   
   return 0;
}
    
    
    