Pagini recente » Cod sursa (job #571158) | Cod sursa (job #1851455) | Cod sursa (job #394796) | Cod sursa (job #3177412) | Cod sursa (job #978567)
Cod sursa(job #978567)
#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 * ) ;
int *v = new int[500002];
ofstream g("algsort.out");
int main( )
{
btreenode *bt = NULL;
ifstream f("algsort.in");
int n, a;
f >> n;
for ( int i = 0; i < n; i++ )
f >> v[i];
random_shuffle ( v, v + n - 1 );
random_shuffle ( v, v + n - 1 );
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 ) ;
}
}