Advertisement
_Nishat_tasnim

Symbol_table

Jun 30th, 2022
557
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.85 KB | None
  1. #include <iostream>
  2. using namespace std;
  3. struct node
  4. {
  5.     string data;
  6.     node* next;
  7.     node( string val)
  8.     {
  9.         data = val;
  10.         next = NULL;
  11.     }
  12. };
  13. int Hash(string val,int siz)
  14. {
  15.     int sum=0,divv;
  16.     for(int i=0; i<val.size(); i++)
  17.     {
  18.         sum+=val[i];
  19.     }
  20.     divv=sum%siz;
  21.     return divv;
  22. }
  23. void insertATtail(node* arry[], string val, int n)
  24. {
  25.     int x= Hash(val,n);
  26.     node * temp = new node(val);
  27.     node * temp2 = new node(val);
  28.     if(*(arry+x) == NULL)
  29.             *(arry+x) = temp2;
  30.         else
  31.         {
  32.             temp= *(arry+x);
  33.             while(temp->next != NULL)
  34.                 temp = temp->next;
  35.             temp->next=temp2;
  36.         }
  37.     cout<<"\n"<<" value inserted"<<endl;
  38. }
  39. void display(node **array, int n)
  40. {
  41.     for(int i=0;i<n;i++)
  42.     {
  43.         node *temp=*(array+i);
  44.         if(temp == NULL)
  45.             cout<<"No List is available";
  46.         else
  47.         {
  48.             cout<<i<<"->  ";
  49.         while(temp != NULL)
  50.         {
  51.             cout<<temp->data<<" ->    ";
  52.             temp = temp->next;
  53.         }
  54.         }
  55.         cout<<endl;
  56.     }
  57. }
  58.  
  59.  
  60. int main()
  61. {
  62.     cout<< "Please enter the size of array : ";
  63.     int siz;
  64.     cin>>siz;
  65.     node **array;
  66.     array = new node*[siz];
  67.     for(int i=0; i<siz; i++){
  68.         *(array+i)=NULL;
  69.     }
  70.     while(1)
  71.     {
  72.         cout<< "1. Insert\n"<< "2. Dislay\n"<< "3. Exit\n";
  73.         int a;
  74.         cin>>a;
  75.         int size =siz ;
  76.         node* head=NULL;
  77.         if(a==1){
  78.         cout<< "Please enter the value and datatype\n";
  79.         string val;
  80.         cin.ignore();
  81.         getline(cin,val);
  82.         int x=Hash(val,siz);
  83.             insertATtail(array, val,siz);
  84.         }
  85.         else if(a==2)
  86.         {
  87.             display(array,siz);
  88.         }
  89.         else
  90.             break;
  91.     }
  92. }
  93.  
  94.  
Advertisement
RAW Paste Data Copied
Advertisement