Cod sursa(job #956920)

Utilizator radustn92Radu Stancu radustn92 Data 4 iunie 2013 02:15:34
Problema Sortare prin comparare Scor 40
Compilator c Status done
Runda Arhiva educationala Marime 0.93 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct bstNode
{
	int value;
	struct bstNode *left, *right;
} node;
node *root;

node *create_node(int value)
{
	node *newNode = malloc(sizeof(node));
	newNode -> value = value;
	newNode -> left = newNode -> right = NULL;
	
	return newNode;
}

node *insert(node *curr, int currVal)
{
	if (curr == NULL)
		return create_node(currVal);
		
	if (curr -> value > currVal)
		curr -> left = insert(curr -> left, currVal);
	else
		curr -> right = insert(curr -> right, currVal);
		
	return curr;
}

void print_list(node *curr)
{
	if (curr == NULL)
		return ;
	print_list(curr -> left);
	printf("%d ",curr -> value);
	print_list(curr -> right);
}

int main()
{
	freopen("algsort.in", "r", stdin);
	freopen("algsort.out", "w", stdout);
	int n, i, x;
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf("%d", &x);
		root = insert(root, x);
	}
	
	print_list(root);
	printf("\n");
	return 0;
}