diff --git a/hashing.cpp b/hashing.cpp new file mode 100644 index 0000000..3cb9642 --- /dev/null +++ b/hashing.cpp @@ -0,0 +1,78 @@ +#include +#include +#include +#define max 10 +using namespace std; +void insert(); +void display(); +int main() +{ + int ch; + while(1) + { + cout<<"\n1.Insert Element\n2.Display\n3.Exit\n"; + cin>>ch; + switch(ch) + { + case 1: + insert(); + break; + case 2: + display(); + break; + case 3: + exit(0); + default: + cout<<"Wrong Choice :)"; + } + } +} +struct node +{ + int data; + struct node *next; +}; + +struct node *head[max]={NULL},*c; + +void insert() +{ + int i,key,ele; + cout<<"\nEnter element\n"; + cin>>ele; + i=ele%max; + struct node *newnode=new node(); + newnode->data=ele; + newnode->next = NULL; + if(head[i]==NULL) + head[i]=newnode; + else + { + c=head[i]; + while(c->next!=NULL) + { + c=c->next; + } + c->next=newnode; + } +} +void display() +{ + int i; + for(i=0;inext) + { + cout<data<<"\t"; + } + } +} + +} \ No newline at end of file diff --git a/queue.cpp b/queue.cpp new file mode 100644 index 0000000..0e9a0fc --- /dev/null +++ b/queue.cpp @@ -0,0 +1,89 @@ +#include +using namespace std; + +struct node{ + int data; + struct node *next; + node(int d) + { + data=d; + next=NULL; + } +}; + +struct queue{ + struct node *front,*rear; + + queue(){ + front=rear=NULL; + } + + void enqueue(int d) + { + node* temp=new node(d); + if(front==NULL) + { + rear=front=temp; + cout<<"\nElement enqueued is : "<data; + } + + else{ + rear->next=temp; + rear=temp; + cout<<"\nElement enqueued is : "<data; + } + } + + void dequeue(){ + struct node* temp; + if(front==NULL) + { + cout<<"\nQueue is empty (underflow)"; + } + + else{ + temp=front; + front=front->next; + + if(front==NULL) + rear==NULL; + + temp->next=NULL; + cout<<"\nElement dequeued is : "<data; + free(temp); + } + } + + void display(){ + struct node* temp; + if(rear==NULL && front==NULL) + { + cout<<"\nQueue is empty"; + } + + else{ + cout<<"\nElements in the queue are : "; + struct node *temp=front; + + while (temp!=NULL) + { + cout<data<<" "; + temp=temp->next; + } + + + } + } +}; + + int main(){ + queue q; + q.enqueue(10); + q.enqueue(20); + q.enqueue(30); + q.enqueue(40); + q.enqueue(50); + q.dequeue(); + q.display(); + + } \ No newline at end of file