Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct node_tree
- {
- int key;
- struct node_tree *l, *r;
- }node;
- node * add(node *tree, int k)
- {
- node * nodeadd = (node*)malloc(sizeof(node));
- if (nodeadd)
- {
- nodeadd->key = k;
- nodeadd->l = NULL;
- nodeadd->r = NULL;
- }
- else
- {
- printf("no memory");
- }
- if (!tree)
- {
- tree = nodeadd;
- return 0;
- }
- node * t = tree;
- do
- {
- if (k <= t->key)
- {
- if (t->l) {
- t = t->l;
- }
- else
- {
- t->l = nodeadd;
- return tree;
- }
- }
- else
- {
- if (t->r)
- {
- t = t->r;
- }
- else
- {
- t->r = nodeadd;
- return tree;
- }
- }
- } while (t);
- }
- int preorder(node * tree, FILE * fo)
- {
- //fo = fopen("output.txt", "w");
- node * temp = tree;
- if (temp)
- {
- fprintf(fo,"%d",temp->key);
- preorder(temp->l, fo);
- preorder(temp->r, fo);
- }
- }
- void main()
- {
- node *tree = NULL;
- int k = 0;
- FILE *fi = fopen("input.txt", "r");
- while (!feof(fi))
- {
- fscanf(fi, "%d", &k);
- tree = add(tree, k);
- }
- fclose(fi);
- FILE *fo = fopen("output.txt", "r");
- preorder(tree,fo);
- fclose(fo);
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement