C
Implementarea listelor dublu inlantuite/*Implementarea listelor dublu inlantuite */ #include <stdio.h> #include <conio.h> #include <alloc.h> #include <ctype.h> #include <string.h> typedef struct nod Tnod; typedef Tnod *ref; ref p; /* indica primul element al listei */ ref r; /* variabila auxiliara care va indica un element al listei */ int n; /* retine nr de valori citite cu scanf */ int er; /* cod de eroare pt. operatii */ /*listare: afiseaza elementele listei de la stinga la dreapta; */ void listare (void) printf('n'); } }/* listare */ /* insd_p: insereaza primul nod al listei */ void insd_p(void) else }/* insd_p */ /* insd_cf: insereaza un nod la inceputul listei */ void insd_cf(void) else } /*insd_cf (* creare: creeaza lista */ ref creare() //void creare(void) ; clrscr(); printf('Introduceti primul nod al listei:n'); insd_p(); if(!er) return p; }/* creare */ /* cautare: cauta in lista un element dupa cheia data; retumeaza adresa elementului gresit, sau NULL daca nu exista un astfel de element */ ref cautare(int cheia) /* cautare */ /* insd_d: insereaza un element dupa nodul *r */ void insd_d(void) else /* insd_d */ } /*ins_i: insereaza un elem. inaintea lui *r */ void insd_i(void) else } /* insd_i */ /* sterg_nod: sterge un nod spec. prin r */ void sterg_nod(void) /* linie: afiseaza o linie pe ecran */ void linie(void) /* chenar: afiseaza chenarul */ void chenar(void) } void enter(void) void main (void) } else } break; case 'D': clrscr(); if(p==NULL) printf('Eroare: lista este vida!n'); else } else } break; case 'G': clrscr(); if (p==NULL) printf('Eroare: lista este vida!n'); else } else } break; case 'L': clrscr(); listare(); break; case 'S': clrscr(); if(p==NULL) printf('Eroare: lista este vida!n'); else } else } break; case 'E': break; default: printf('Ati introdus optiune gresita!'); }enter(); }while (optiune!='E'); }/* main */
|