Pagini recente » Cod sursa (job #964652) | Cod sursa (job #838834) | Cod sursa (job #1155629) | Cod sursa (job #880425) | Cod sursa (job #2277236)
#include <bits/stdc++.h>
#define MOD 66013
using namespace std;
struct tabelaHash
{
long long val;
tabelaHash *Next;
};
tabelaHash *H[66013];
bool Search(long long nr)
{
tabelaHash *L = new tabelaHash;
L = H[nr % MOD];
if(L != NULL)
{
if(L->val == nr)
return 1;
while(L->Next != NULL)
{
if(L->val == nr)
return 1;
L = L -> Next;
}
}
return 0;
}
void Add(long long nr)
{
tabelaHash *L = new tabelaHash;
L -> val = nr;
L -> Next = H[nr % MOD];
H[nr % MOD] = L;
}
void Delete(long long nr)
{
tabelaHash *L = new tabelaHash;
L = H[nr % MOD];
while(L != NULL && L->Next != NULL)
{
if(L->Next->val == nr)
{
tabelaHash *deSters = L->Next;
L->Next = L->Next->Next;
delete deSters;
return;
}
L = L -> Next;
}
H[nr % MOD] = L;
}
int main()
{
int n;
cin >> n;
for(int i = 1; i <= n; ++i){
long long tip, val;
cin >> tip >> val;
if(tip == 1)
Add(val);
if(tip == 2)
Delete(val);
if(tip == 3)
cout << Search(val) << '\n';
}
cout << Search(3232343) << '\n';
return 0;
}