Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #include "doubly-linked.h"
  2.  
  3. List::List(){
  4. first = NULL;
  5. }
  6.  
  7. List::~List() {
  8. }
  9.  
  10. void List::insert(int n) {
  11. Node* new_node = new Node();
  12.  
  13. Node* last = first;
  14.  
  15. new_node -> val = n;
  16.  
  17. new_node -> next = NULL;
  18.  
  19. if (first == NULL){
  20. new_node->prev = NULL;
  21. first = new_node;
  22. return;
  23. }
  24. while (last->next != NULL){
  25. last = last->next;
  26. }
  27.  
  28. last->next = new_node;
  29.  
  30. new_node->prev = last;
  31.  
  32. }
  33.  
  34. void List::reverse() {
  35. Node *temp = NULL;
  36. Node *current = first;
  37.  
  38. while (current != NULL)
  39. {
  40. temp = current->prev;
  41. current->prev = current->next;
  42. current->next = temp;
  43. current = current->prev;
  44. }
  45.  
  46. if(temp != NULL )
  47. first = temp->prev;
  48.  
  49.  
  50. }
  51.  
  52. void List::print() {
  53. struct Node* ptr;
  54. ptr = first;
  55. while(ptr != NULL) {
  56. cout << ptr->val << " ";
  57. ptr = ptr->next;
  58. }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement