Advertisement
sebyvs

pare/impare

May 28th, 2015
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4.  
  5. using namespace std;
  6.  
  7. struct Nod
  8. {
  9. int info;
  10. Nod *leg;
  11. };
  12.  
  13. Nod *L;
  14. Nod *pare, *impare;
  15.  
  16. void Parcurgere(Nod *Lista)
  17. {
  18. if(Lista == NULL)
  19. {
  20. cout << "Lista e vida, consateanule!\n";
  21. return ;
  22. }
  23. for(Nod *p = Lista; p != NULL; p = p->leg)
  24. cout << p->info<<" ";
  25. cout<<"\n";
  26. }
  27.  
  28. int main()
  29. {
  30. int x, i;
  31. srand(time(0));
  32. L = NULL;
  33. for(i = 0; i < 25; i++)
  34. {
  35. x = rand() % 50;
  36. Nod *p;
  37. p = new Nod;
  38. p->info = x;
  39. p->leg = L;
  40. L = p;
  41. }
  42. Parcurgere(L);
  43.  
  44. pare = NULL;
  45. impare = NULL;
  46. Nod *p;
  47.  
  48. while(L != NULL)
  49. {
  50. p = L;
  51. if(L->info % 2 == 0)
  52. {
  53. L = p->leg;
  54. p->leg = pare;
  55. pare = p;
  56. }
  57. else
  58. {
  59. L = p->leg;
  60. p->leg = impare;
  61. impare = p;
  62. }
  63. }
  64.  
  65. Parcurgere(pare);
  66. Parcurgere(impare);
  67. Parcurgere(L);
  68.  
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement