Cod sursa(job #1566046)

Utilizator Vlad1111Sbengheci Vlad-Andrei Vlad1111 Data 11 ianuarie 2016 19:23:49
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 1.08 kb
#include <iostream>
#include <cstdio>

using namespace std;

int n;

struct sir
{
    int inf;
    sir*a;
}*p;

int main()
{
    int x;
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);

    scanf("%d",&n);
    scanf("%d ",&x);
    sir*s=new sir;
    s->inf=x;
    s->a=NULL;
    p=s;


    for(int i=1; i<n; i++)
    {
        scanf("%d ",&x);
        if(x<=p->inf)
        {
            s=new sir;
            s->inf=x;
            s->a=p;
            p=s;
        }
        else
        {
            sir*c=p;
            for(; c->a!=NULL; c=c->a)
                if(x<=c->a->inf)
                {
                    s=new sir;
                    s->inf=x;
                    s->a=c->a;
                    c->a=s;
                    break;
                }
            if(c->a==NULL)
            {
                s=new sir;
                s->inf=x;
                s->a=NULL;
                c->a=s;
            }
        }
    }
    for(s=p; s!=NULL; s=s->a)
        printf("%d ",s->inf);
    return 0;
}