mihaispr
Administrator
 Inregistrat: acum 17 ani
Postari: 2142
|
|
//Creati o lista simplu inlantuita care permite stergerea primelor m inregistrari
#include<stdio.h> #include<conio.h> //directiva pt.clrscr() si getch() din prog.principal void main() #include<iostream.h> //directiva pt.afisarea nu cu printf ci cu cout<<"Mesaj:"<<variabila #include<alloc.h> //directiva ce foloseste functiile de alocare new si dealocare delete struct nod { int x; struct nod* next; }*l;
int n,i,q,m;
struct nod* creare() { struct nod* aux; int v; l=NULL; for(i=n;i>=1;i--) { aux= (struct nod* )malloc(sizeof(struct nod)); printf("valoarea nodului %d=",i); scanf("%d",&v); aux->x=v; aux->next=l; l=aux; } return l; }
void afisare() { struct nod* c; printf("lista este" ); if (!l) printf("vida" ); else { c=l; while (c) { printf("%3d",c->x); c=c->next; } } }
void stergere() {struct nod* c; for(i=1;i<=m;i++) q=l; // se pastreaza prima inregistrare intr-o variabila q l=l->next; //a doua inregistrare devine prima delete q; //se distruge variabila q }
void main(void) { clrscr(); printf ("nr de noduri este:" ); scanf("%d",&n); l=creare(); afisare(); stergere(); afisare(); getch(); }
|
|