Pagini recente » Cod sursa (job #2408224) | Cod sursa (job #1512514) | Cod sursa (job #2446425) | Cod sursa (job #911796) | Cod sursa (job #1188815)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f;
ofstream g;
int i,j,m,n,k;
struct lista
{
int a;
lista *next;
}*prim,*p,*q,*z,*ultim;
int main()
{
f.open("sortaret.in");
g.open("sortaret.out");
f>>n;
f>>m;
prim=NULL;
f>>i>>j;
prim=new lista;
prim->a=i;
prim->next=NULL;
p=new lista;
p->a=j;
p->next=NULL;
prim->next=p;
m--;
while(m>0)
{
f>>i>>j;
p=prim;
while((p->next!=NULL)&&(i!=p->a)&&(j!=p->a))p=p->next;
if(p->next==NULL&&i!=p->a&&j!=p->a){
q=new lista;
q->a=i;
q->next=NULL;
z=new lista;
z->a=j;
z->next=NULL;
q->next=z;
p->next=q;
}
else
if(i==p->a){
q=new lista;
q->a=j;
q->next=p->next;
p->next=q;
}
else
if(j==p->a){
q=new lista;
q->a=i;
q->next=NULL;
z=prim;
while(z->next->a!=j)z=z->next;
if(z!=prim){
q->next=z->next;
z->next=q;
}
else {
q->next=prim;
prim=q;
}
}
m--;
}
q=prim;
while (q!=NULL){g<<q->a<<' ';q=q->next;}
g.close();
return 0;
}