Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3.  
  4. typedef struct node{
  5. int val;
  6. struct node* next;
  7. }node;
  8.  
  9. struct node* Create()
  10. {
  11. node* obj =(node* )malloc(sizeof(node));///primul nod este nul
  12. obj->val = -1;
  13. obj->next = NULL;
  14. return obj;
  15. }
  16.  
  17. void AddAtHead(node* obj, int val)
  18. {
  19. node *p = (node* )malloc(sizeof(node));
  20. p->val = val;
  21. p->next = obj->next;
  22. obj->next = p;
  23. }
  24.  
  25. void print_list(node* obj)
  26. {
  27. while(obj->next != NULL)
  28. {
  29. obj = obj->next;
  30. printf("%d ",obj->val);
  31. }
  32. printf("\n");
  33. }
  34.  
  35. node* inversare(node *obj)
  36. {
  37. node* temp1 = obj->next;
  38. node* temp2 = obj->next->next;
  39. obj = obj->next->next->next;
  40. temp1->next = NULL;
  41. while(obj != NULL)
  42. {
  43. temp2->next = temp1;
  44. temp1 = temp2;
  45. temp2 = obj;
  46. obj = obj->next;
  47. }
  48. temp2->next = temp1;
  49. obj = temp2;
  50. node* p = (node*)malloc(sizeof(node));///refac primul nod nul
  51. p ->val = -1;
  52. p->next = obj;
  53. obj = p;
  54. return obj;
  55. }
  56.  
  57. int main()
  58. {
  59. node* obj = Create();
  60. AddAtHead(obj, 1);
  61. AddAtHead(obj, 0);
  62. AddAtHead(obj, 2);
  63. AddAtHead(obj, 6);
  64. AddAtHead(obj, 5);
  65. AddAtHead(obj, 4);
  66. print_list(obj);
  67. obj = inversare(obj);
  68. print_list(obj);
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement