Pagini recente » Cod sursa (job #2025448) | Cod sursa (job #706033) | Cod sursa (job #12244) | Cod sursa (job #759364) | Cod sursa (job #1528472)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ofstream fileOut("sortaret.out");
struct element
{
int val;
element* next;
};
element* vectorElement[50000];
int starts[50000];
int posStarts=0;
element* aux;
void Descopera(int pos)
{
if(vectorElement[pos]!=0)
{
element* auxy=vectorElement[pos];
vectorElement[pos]=0;
while(auxy!= 0)
{
fileOut<<auxy->val<<" ";
Descopera(auxy->val);
auxy=auxy->next;
}
}
}
int main()
{
ifstream fileIn("sortaret.in");
int n,m;
fileIn>>n>>m;
int x,y;
for(int i=0;i<m;++i)
{
fileIn>>x>>y;
starts[posStarts]=x;
++posStarts;
if(vectorElement[x]==0)
{
vectorElement[x]=new element;
vectorElement[x]->val=y;
vectorElement[x]->next=0;
}
else
{
aux=vectorElement[x];
while(aux->next !=0)
{
aux=aux->next;
}
aux->next = new element;
aux->next->val=y;
aux->next->next=0;
}
}
sort(starts,starts+posStarts);
for(int i=0;i<posStarts;++i)
{
if(starts[i]!=starts[i+1] and vectorElement[starts[i]]!=0)
{
fileOut<<starts[i]<<" ";
Descopera(starts[i]);
}
}
return 0;
}