#include <iostream>
#include<list>
#include<complex>

struct Kompleksni{
    double re, im;
    Kompleksni *veza;
};

Kompleksni *KreirajListu(const std::list<std::complex<double>> &l){

Kompleksni *pocetak{}, *prethodni;
for(auto z : l){
    Kompleksni *novi = new Kompleksni {z.real(), z.imag(), nullptr};
    if(!pocetak) pocetak = novi;
    else prethodni->veza = novi;
    prethodni = novi;
}
return pocetak;
}

void ObrisiListu(Kompleksni *pocetak) {
    Kompleksni *sljedeci;

    for(auto p = pocetak; p != nullptr; p = sljedeci) {
        sljedeci = p->veza;
        delete p;
    }
}

int main() {
    std::list<std::complex<double>> l{
        {1, 2},
        {3.5, -4},
        {-2, 7}
    };

    Kompleksni *lista = KreirajListu(l);

    for(auto p = lista; p != nullptr; p = p->veza)
        std::cout << p->re << " " << p->im << std::endl;

    ObrisiListu(lista);

    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: