void inserare(nod * p,nod * q,int x)
{
nod* l=(nod*)malloc(sizeof(nod));
l->info=x;
l->urm=q->urm;
q->urm=l;
}
Se aloca pentru nodul nou spatiu in memorie( se poate face si cu functia new). I se atribuie valoare x dupa care se realizeaza legatura cu q. Prima data se face legatura cu urmatorul lui l pentru ca daca ultimele doua linii de cod s-ar inversa atunci q->urm fiind l , l ar arata spre el.
O problema mai practica ar fii sa adaugi o valoare dupa un nod cu o valoarea data de la tastura (fara sa-i stii adresa). Se face la fel, doar ca trebuie prima data cautat nodul respectiv pentru a se aplica algoritmul.