Pagini recente » Cod sursa (job #1459206) | Cod sursa (job #1157353) | Cod sursa (job #2317215) | Cod sursa (job #944559) | Cod sursa (job #1320726)
#include <cstdio>
#define hashsize 666013
struct nod
{
int x;
nod *urm;
}*r;
void inserare(int n, nod *h[])
{
r=h[n/hashsize];
while(r->urm)
{
if(r->urm->x==n)
return;
r=r->urm;
}
r->urm = new nod;
r->urm->x = n;
r->urm->urm=NULL;
}
void stergere(int n, nod *h[])
{
r=h[n%hashsize];
while(r->urm)
{
if(r->urm->x==n)
{
nod *p = r->urm;
r->urm = r->urm->urm;
delete p;
return;
}
r=r->urm;
}
}
void afisare(int n, nod *h[])
{
r=h[n%hashsize];
while(r->urm)
{
if(r->urm->x==n)
{
printf("1\n");
return;
}
r=r->urm;
}
printf("0\n");
return;
}
int main()
{
int n,i,op,x;
nod *h[hashsize];
freopen("hashuri.in", "r", stdin);
freopen("hashuri.out", "w", stdout);
scanf("%d ", &n);
for(i=0;i<hashsize;i++)
{
h[i] = new nod;
h[i]->urm = NULL;
}
for(i=1;i<=n;i++)
{
scanf("%d %d ", &op, &x);
if(op==1)
inserare(x, h);
if(op==2)
stergere(x, h);
if(op==3)
afisare(x, h);
}
return 0;
}