Professional Documents
Culture Documents
Operatii Asupra Listei Liniare Simplu Inlantuite
Operatii Asupra Listei Liniare Simplu Inlantuite
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <alloc.h>
#include <string.h>
struct NOD
{
int cheie;
char info[10];
struct NOD *urm;
};
typedef struct NOD Tnod;
typedef Tnod *ref;
ref prim;
ref q,r,s;
int k;
void listare(void)
{
if(prim==NULL)
printf("Lista este vida !!!");
else
{
printf("\nElementele listei sunt :\n");
r=prim;
while(r!=NULL)
{
printf("Cheia : %d \t | \t ", r->cheie);
printf("Informatia : %s \n", r->info);
r=r->urm;
}
}
} /* Listare */
void creare(void)
{
char c;
prim=NULL;
do
{
ins_cf();
listare();
printf("Continuati ?! [D/N] : ");
fflush(stdin); scanf("%c", &c); c=toupper(c);
}while(c=='D');
} /* Creare */
void main(void)
{
char op;
char c;
prim=NULL;
clrscr();
do
{
clrscr();
printf("\t\tOperatii asupra Listei Liniare Simplu Inlantuite\n\n");
printf("\tC-Crearea \n ");
printf("\tA-Adaugarea la inceputul listei \n ");
printf("\tL-Listare \n ");
printf("\tE-Exit \n\n ");
printf("Introduceti optiunea : "); scanf("%s",&op); op=toupper(op);
printf("\n");
switch(op)
{
case 'C': creare();
break;
case 'A': ins_cf();
listare();
getch();
break;
case 'L': listare();
getch();
break;
case 'E': break;
default : printf("Optiunea e gresita !!! \n ");
getch();
break;
}
}while(op!='E');
} /* MAIN */