Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void insord(list *l, tipobaseList x){
- position p,u;
- tipobaseList tmp;
- if (EmptyList(*l)) InsertList(l,First(*l),x);
- else {
- p=First(*l);
- u=End(*l);
- while (p!=u) {
- tmp=Retrieve(*l,p);
- if (ConfrontaList(tmp,x)<0) p=Next(*l,p);
- else break;
- }
- InsertList(l,p,x);
- }
- }
- void inserimento_autore(list *l,tipobaseList a){
- position p;
- abr q;
- if(!EmptyList(*l)) p=Locate(*l,a);
- if(EmptyList(*l) || p==End(*l)){
- MakeNullABR(&q);
- AggiornaABR(&a,q);
- insord(l,a);
- } else printf("\nL'autore inserito e' gia' presente");
- }
- void inserimento_opera(list *l,tipobaseList a){
- position p;
- tipobaseABR libro;
- abr q;
- if(!EmptyList(*l)) p=Locate(*l,a);
- if(EmptyList(*l) || p==End(*l)) {
- printf("\nL'autore NON esiste, verra' prima inserito ");
- LeggiElementoABR(&libro);
- MakeNullABR(&q);
- InsertABR(&q,libro);
- AggiornaABR(&a,q);
- insord(l,a);
- } else {
- a=Retrieve(*l,p);
- LeggiElementoABR(&libro);
- CopiaABR(&q,a);
- if(Member(q,libro))
- printf("\nLibro gia' presente in archivio");
- else{
- InsertABR(&q,libro);
- AggiornaABR(&a,q);
- DeleteList(l,p);
- InsertList(l,p,a);
- }
- }
- }
- /*funzione che cerca un elemento in un ABR e */
- /*visualizza il contenuto di un nodo, se lo trova */
- void cerca_libro(abr n, tipobaseABR lb){
- tipobaseABR tmp;
- if (EmptyABR(n)) printf("\nLibro non trovato in archivio ");
- else {
- tmp=Label(n);
- if (!ConfrontaABR(tmp,lb))
- if(LibroPresente(tmp)) VisualizzaElementoABR(tmp);
- else printf("\nIl Libro %s e' attualmente in prestito");
- else if (ConfrontaABR(tmp,lb)>0) cerca_libro(LeftChild(n),lb);
- else cerca_libro(RightChild(n),lb);
- }
- }
- void ricerca_opera(list l, tipobaseList a){
- tipobaseABR libro;
- position p;
- abr q;
- if(!EmptyList(l)) p=Locate(l,a);
- if(EmptyList(l) || p==End(l))
- printf("\nL'autore inserito non esiste");
- else{
- a=Retrieve(l,p);
- CopiaABR(&q,a);
- if(EmptyABR(q))
- printf("\nNon ci sono libri relativi a questo autore");
- else {
- CercaElementoABR(&libro);
- cerca_libro(q,libro);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment