CATEGORII DOCUMENTE |
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 */
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 849
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved