Răspuns:
Salut! (*/ω\*)
Ai aici rezolvarea problemei #3750 de pe pbinfo
void InserareInainteQ(nod *&prim, nod *&ultim, nod *q, int x){
nod *nou = new nod;
nou -> info = x;
if(prim == NULL){
// lista este vida
nou -> ant = nou -> urm = NULL;
prim = ultim = nou;
}else if(q == prim){
// inserez la inceputul listei
nou -> urm = prim;
nou -> ant = NULL;
prim = nou;
}else{
nod *t = new nod;
t = prim;
while(t -> urm != q)
t = t -> urm;
// t este elementul din stanga celui memorat la adresa q
nou -> urm = t -> urm;
nou -> ant = t;
t -> urm = nou;
}
}
#copaceibrainly