Assignm NT 1 Dsa
Assignm NT 1 Dsa
#include<string.h>
class hashfunction
long key;
char name[100];
}hash;
hash h[100];
public:
hashfunction();
void insert();
void display();
int find(long);
void delete1(long);
};
hashfunction::hashfunction()
int i;
for(i=0;i<10;i++)
h[i].key=-1;
strcpy(h[i].name,"NULL");
}
int index=find(key);
if(index==-1)
else
h[index].key=-1;
strcpy(h[index].name,"NULL");
int hashfunction::find(long k)
int i;
for(i=0;i<10;i++)
if(h[i].key==k)
return i;
}
if(i==10)
return -1;
void hashfunction::display()
int i;
for(i=0;i<10;i++)
cout<<"\n \th["<<i<<"]\t"<<h[i].key<<"\t\t"<<h[i].name;
void hashfunction::insert()
char ans,n[11],ntemp[10];
long k,temp;
int hi,cnt=0,flag=0,i;
do
{
if(cnt>=10)
break;
cin>>k;
cin>>n;
hi=k%10;
if(h[hi].key==-1)
h[hi].key=k;
strcpy(h[hi].name,n);
else
for(i=hi+1;i<10;i++)
if(h[i].key==-1)
h[i].key=k;
strcpy(h[i].name,n);
flag=1;
break;
if(h[i].key==-1)
h[i].key=k;
strcpy(h[i].name,n);
break;
flag=0;
cnt++;
cin>>ans;
}while(ans=='y'||ans=='Y');
main()
long k;
int ch,index;
char ans;
hashfunction obj;
do
cout<<"\n\t********dictionary(ADT)********";
cin>>ch;
switch(ch)
case 1:obj.insert();
break;
case 2:
obj.display();
break;
case 3:
cin>>k;
index=obj.find(k);
if(index==-1)
}
break;
case 4:
cin>>k;
obj.delete1(k);break;
case 5:
break;
cin>>ans;
}while(ans=='y'||ans=='Y');
********dictionary(ADT)********
1.insert
2.display
3.find
4.delete
5.exit
********dictionary(ADT)********
1.insert
2.display
3.find
4.delete
5.exit
key name
h[1] -1 NULL
h[4] -1 NULL
h[5] -1 NULL
h[7] -1 NULL
h[8] -1 NULL
h[9] -1 NULL
********dictionary(ADT)********
1.insert
2.display
3.find
4.delete
5.exit
********dictionary(ADT)********
1.insert
2.display
3.find
4.delete
5.exit
key is deleted