Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstdlib>
- using namespace std;
- //#define SIZE 10;
- int SIZE;
- struct Node
- {
- int val;
- Node * next;
- };
- struct Linkedlist
- {
- private :
- Node ** hashTable;
- public:
- void init(int s)
- {
- SIZE = s;
- hashTable = (Node**)calloc(SIZE,sizeof(Node*));
- }
- int hashFunc(int key)
- {
- return key%SIZE;
- }
- void insertvalue(int v)
- {
- Node * newnode = new Node;
- newnode->val = v;
- newnode->next = NULL;
- int index = hashFunc(v);
- if(hashTable[index]==NULL)
- {
- hashTable[index] = (Node*)malloc(sizeof(Node*));
- hashTable[index] = newnode;
- }
- else
- {
- Node * temp = hashTable[index];
- newnode->next = temp;
- hashTable[index] = newnode;
- }
- }
- int searchValue(int v)
- {
- int index = v % SIZE;
- bool flag=0;
- Node * temp = hashTable[index];
- while(temp!=NULL)
- {
- if(temp->val==v)
- {
- cout <<"Found"<<endl;
- flag=1;
- break;
- }
- temp=temp->next;
- }
- if(flag==0)
- cout << "Not found"<<endl;
- }
- void display()
- {
- for (int i=0;i<SIZE ;i++ )
- {
- cout << i<<"-> " ;
- Node * temp = hashTable[i];
- while(temp!=NULL)
- {
- cout <<temp->val<<" ";
- temp=temp->next;
- }
- cout << endl;
- }
- }
- };
- int main()
- {
- Linkedlist l1;
- l1.init(10);
- l1.insertvalue(22);
- l1.insertvalue(32);
- l1.insertvalue(21);
- l1.insertvalue(25);
- l1.insertvalue(27);
- /// l1.insertvalue(2);
- l1.display();
- l1.searchValue(32);
- l1.searchValue(2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement