Advertisement
SabirSazzad

Link list (add,delete,search)

Feb 26th, 2017
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.30 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Node
  5. {
  6.    int data;
  7.    Node *point;
  8. };
  9.  
  10. Node *head;
  11. Node* getnewnode(int value)
  12. {
  13.     Node *newnode = new Node();
  14.     newnode -> data = value;
  15.     newnode -> point = NULL;
  16.     return newnode;
  17. }
  18. void insertathead(int value)
  19. {
  20.     Node *newnode = getnewnode(value);
  21.     newnode -> point = head;
  22.     head = newnode;
  23. }
  24. void insertattail(int value)
  25. {
  26.     Node *newnode = getnewnode(value);
  27.     Node *temp=head;
  28.     while(temp->point != NULL)
  29.     {
  30.         temp=temp->point;
  31.     }
  32.     temp->point = newnode;
  33. }
  34. void insertatanyindex(int n, int value)
  35. {
  36.     Node *newnode= getnewnode(value);
  37.     if(n==1)
  38.     {
  39.         newnode->point = head;
  40.         head = newnode;
  41.         return;
  42.     }
  43.     Node *temp = head;
  44.     for(int i=1; i<n-1; i++)
  45.     {
  46.         temp = temp->point;
  47.     }
  48.     newnode->point = temp->point;
  49.     temp->point = newnode;
  50. }
  51. void deleteanyindex(int n)
  52. {
  53.     Node *temp = head;
  54.     if(n==1)
  55.     {
  56.         head = temp->point;
  57.         delete temp;
  58.     }
  59.     else
  60.     {
  61.         int i;
  62.         for(i=1; i<n-1; i++)
  63.         {
  64.             temp = temp->point;
  65.         }
  66.         Node *temp2 = temp->point;
  67.         temp->point = temp2->point;
  68.         delete temp2;
  69.     }
  70. }
  71. void print()
  72. {
  73.     Node *temp = head;
  74.     while(temp->point != NULL)
  75.     {
  76.         cout << temp->data << " ";
  77.         temp = temp->point;
  78.     }
  79.     cout << temp->data << endl;
  80. }
  81. void Search(int value)
  82. {
  83.     Node *temp=head;
  84.     while(temp->point != NULL)
  85.     {
  86.         if(temp->data == value)
  87.         {
  88.             cout << "Found"<<endl;
  89.             return;
  90.         }
  91.         else
  92.         {
  93.             temp = temp->point;
  94.         }
  95.     }
  96.     if(temp->data == value)
  97.     {
  98.         cout << "Found"<<endl;
  99.         return;
  100.     }
  101.     else
  102.     {
  103.         cout << "Not Found" <<endl;
  104.     }
  105. }
  106.  
  107. int main()
  108. {
  109.     int data,limit,i,del,value;
  110.     cout << "Input size of link list: ";
  111.     cin >> limit;
  112.     for(i=1; i<=limit; i++)
  113.     {
  114.         cout << "Input data: ";
  115.         cin >> data;
  116.         insertatanyindex(i,data);
  117.  
  118.     }
  119.     print();
  120.     cout << "Delete index: ";
  121.     cin >> del;
  122.     deleteanyindex(del);
  123.     print();
  124.     cout << "Input data for Search: ";
  125.     cin >> value;
  126.     Search(value);
  127.     return 0;
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement