Pagini recente » Cod sursa (job #984916) | Cod sursa (job #3037878) | Cod sursa (job #659740) | Cod sursa (job #2950405) | Cod sursa (job #1687524)
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("hashuri.in");
ofstream g("hashuri.out");
struct nod
{
int info;
bool viz;
nod *leg;
};
void sterge(int info1,nod *&prim)
{
nod *p,*r;
p=prim;
if(p!=NULL&&p->info==info1) {p->leg=NULL;delete p;}
else
{
while(p->leg!=NULL && p->leg->info!=info1) p=p->leg;
if(p->leg!=NULL)
{
r=p->leg;
p->leg=r->leg;
r->leg=NULL;
delete r;
}
}
}
bool gasit(int info1,nod *&prim)
{
nod *p;
p=prim;
if(p!=NULL&&p->info==info1) return 1;
else while(p!=NULL&&p->info!=info1) p=p->leg;
if(p!=NULL) return 1;
else return 0;
}
void creare(nod *&prim,nod *&ultim)
{
nod *p;
int i,n,x,nr;
f>>n;
for(i=1;i<=n;i++)
{
p=new nod;
p->leg=NULL;
f>>nr>>x;
if(nr==1)
{
p->info=x;
if(!p->viz)
{if(prim==NULL)
{
p->viz=1;
prim=p;
ultim=p;
}
else
{
ultim->leg=p;
ultim=p;
p->viz=1;
}}
}
if(nr==2)
sterge(x,prim);
if(nr==3) g<<gasit(x,prim)<<'\n';
}
}
int main()
{
nod *prim1=NULL,*ultim1=NULL;
creare(prim1,ultim1);
}