Pagini recente » Cod sursa (job #1948025) | Cod sursa (job #2952192) | Cod sursa (job #1430130) | Cod sursa (job #377259) | Cod sursa (job #978566)
Cod sursa(job #978566)
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <algorithm>
using namespace std;
struct btreenode
{
btreenode *leftchild ;
int data ;
btreenode *rightchild ;
} ;
void adauga ( btreenode *&, int ) ;
void inorder ( btreenode * ) ;
ofstream g("algsort.out");
int main( )
{
btreenode *bt = NULL;
ifstream f("algsort.in");
int n, a;
int v[500002];
f >> n;
for ( int i = 0; i < n; i++ )
f >> v[i];
random_shuffle ( v, v + n - 1 );
random_shuffle ( v, v + n - 1 );
for ( int i = 0; i < n; i++ )
adauga(bt,v[i]);
inorder(bt);
}
void adauga ( btreenode *&sr, int num )
{
if ( sr == NULL )
{
sr = new btreenode;
( sr ) -> leftchild = NULL ;
( sr ) -> data = num ;
( sr ) -> rightchild = NULL ;
}
else
{
if ( num < ( sr ) -> data )
adauga ( ( ( sr ) -> leftchild ), num ) ;
else
adauga ( ( ( sr ) -> rightchild ), num ) ;
}
}
void inorder ( btreenode *sr )
{
if ( sr != NULL )
{
inorder ( sr -> leftchild ) ;
g << sr -> data << " ";
inorder ( sr -> rightchild ) ;
}
}