Advertisement
crisfast

Alg&Structuri 2

Oct 21st, 2014
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. typedef struct nod nod;
  4. struct nod {int info;
  5. nod *urm;
  6. };
  7. nod *p, *u;
  8. void cre()
  9. {nod *c;
  10. if(!p)
  11. {p=(nod*)malloc(sizeof(nod));
  12. scanf("%d",&p->info);
  13. u=p;
  14. }
  15. else
  16. { c=(nod*)malloc(sizeof(nod));
  17. scanf("%d",&c->info);
  18. u->urm=c;
  19. u=c;
  20. u->urm=0;
  21. }
  22. }
  23. void afisare()
  24. {
  25. nod *c;
  26. c=p;
  27. while(c){
  28. printf("%d ", c->info);
  29. c=c->urm;}
  30. }
  31. int inserare_inceput(int inceput)
  32. {
  33. nod *c;
  34. c=(nod*)malloc(sizeof(nod));
  35. c->info=inceput;
  36. c->urm=p;
  37. p=c;
  38. }
  39. int inserare_sfarsit(int k)
  40. {
  41. nod *d;
  42. d=(nod*)malloc(sizeof(nod));
  43. d=p;
  44. while(d!=NULL)
  45. d=d->urm;
  46. d->info=k;
  47. d->urm=NULL;
  48. }
  49. void inserare_interior(int x,int y)
  50. {
  51. nod *d,*c;
  52. if(p->info==x){
  53. c=(nod*)malloc(sizeof(nod));
  54. c->info=y;
  55. c->urm=p;
  56. p=c;}
  57. else{d=p;
  58. while(d->urm->info!=x) d=d->urm;
  59. c=(nod*)malloc(sizeof(nod));
  60. c->info=y;
  61. c->urm=d->urm;
  62. d->urm=c;}
  63. }
  64.  
  65. int main()
  66. {
  67. int n,i,inceput,k,x,y;
  68. printf("crearea listei\n");
  69. printf("n=");
  70. scanf("%d",&n);
  71. for(i=1;i<=n;i++)
  72. cre();
  73. printf("Lista este: "); afisare(); printf("\n");
  74. printf("Ce numar sa fie introdus la inceputul listei "); scanf("%d",&inceput); inserare_inceput(inceput); printf("\n");
  75. printf("Lista noua este: "); afisare(); printf("\n");
  76. /*printf("Ce numar sa fie introdus la sfarsitul listei "); scanf("%d",&k); inserare_sfarsit(k); printf("\n");
  77. printf("Lista noua este: "); afisare(); printf("\n");*/
  78. printf("Introdu elementul "); scanf("%d",&y); printf(" inainte de "); scanf("%d",&x); printf("\n"); inserare_interior(x,y);
  79. printf("Lista noua este: "); afisare(); printf("\n");
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement