Advertisement
here_to_paste_like_u

linked list reverse code

Feb 16th, 2022
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. #pragma once
  2. #include<iostream>
  3. using namespace std;
  4. #define n 10
  5.  
  6. struct listN {
  7. char data;
  8. listN* next;
  9. };
  10.  
  11. listN* reverse(listN*,listN*);
  12. void displ(listN*);
  13.  
  14. int exercice1_2() {
  15. listN* head, *cur,*tmp,*rev;
  16. cout << "create a list of 10 characters: ";
  17. tmp = new listN;
  18. cin >> tmp->data;
  19. head = tmp;
  20. cur = tmp;
  21. for (int i = 1; i < n; i++) {
  22. tmp = new listN;
  23. cin >> tmp->data;
  24. cur->next = tmp;
  25. cur = cur->next;
  26. }
  27. cur->next = NULL; displ(head);
  28. rev=reverse(head, cur);
  29. displ(rev);
  30. return 0;
  31. }
  32.  
  33. listN* reverse(listN* head, listN* cur) {
  34. listN* rev, * tmp;
  35. rev = new listN;
  36. tmp = head;
  37. cur = head->next;
  38. rev = cur;
  39. rev->next = tmp;
  40. while (cur != NULL) {
  41. rev = new listN;
  42. tmp = cur;
  43. cur = cur->next;
  44. rev = cur;
  45. rev->next = tmp;
  46. }
  47.  
  48. return rev;
  49. }
  50.  
  51. void displ(listN* rev) {
  52. while (rev != NULL) {
  53. cout << rev->data << " ";
  54. rev = rev->next;
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement