Pagini recente » Cod sursa (job #1457229) | Cod sursa (job #1570058) | Cod sursa (job #2570960) | Cod sursa (job #2428191) | Cod sursa (job #1693386)
#include <iostream>
#include <fstream>
#include <vector>
#define FIN "algsort.in"
#define FOUT "algsort.out"
using namespace std;
ofstream fout(FOUT);
struct Node {
int val;
struct Node *left;
struct Node *right;
};
Node *root = NULL;
void insert(int elem) {
if(root == NULL) {
Node *newElem = new Node;
newElem->val = elem;
newElem->left = NULL;
newElem->right = NULL;
root = newElem;
} else {
Node *curr = root;
while( 1 ) {
if(elem < curr->val) {
if( curr->left ) {
curr = curr->left;
} else {
Node *node = new Node;
node->val = elem;
node->left = NULL;
node->right = NULL;
curr->left = node;
break;
}
} else {
if( curr->right ) {
curr = curr->right;
} else {
Node *node = new Node;
node->val = elem;
node->left = NULL;
node->right = NULL;
curr->right = node;
break;
}
}
}
}
}
void inorder(Node *node) {
if(node->left) inorder(node->left);
fout<<node->val<<" ";
if(node->right) inorder(node->right);
}
int main() {
ifstream fin(FIN);
vector<int> vec;
int n, elem;
fin>>n;
for(int i = 0; i < n; ++i) fin>>elem, insert( elem );
inorder( root );
return(0);
}