Cod sursa(job #1654876)

Utilizator din99danyMatei Daniel din99dany Data 17 martie 2016 16:17:34
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <cstdio>
using namespace std;

struct nod{
  int x;
  nod *urm;
};

void adaugare( nod *&p, int k ){

  nod *au, *dr, *st;
  dr = st = NULL;
  au = p;

  while( au != NULL && au -> x < k ){
      st = au;
      au = au -> urm;
  }

  dr = new nod;
  dr -> x = k;
  dr -> urm = au;

  if( p == NULL || st == NULL ) p = dr;
  else st -> urm = dr;

}

int main()
{

    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);

    int n, i, j, k;
    nod *st, *dr, *au;

    st = dr = au = NULL;

    scanf("%d",&n);
    for( i = 1; i <= n; ++i ){
        scanf("%d",&k);
        adaugare( st, k );
    }

    dr = st;
    while( dr != NULL ){
        printf("%d ",dr->x);
        dr = dr -> urm;
    }



    return 0;
}