blob: 3f080a4660348813d5a8ead6d893ec12c3fe2363 (
plain) (
tree)
|
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct Node {
char *v;
struct Node *l;
struct Node *r;
} Node;
void an(Node **, Node *);
void pn(Node *);
void an(Node **r, Node *n) {
if (!*r) {
*r = n;
return;
}
if (strcmp(n->v, (*r)->v) > 0) {
an(&((*r)->r), n);
} else {
an(&((*r)->l), n);
}
return;
}
void pn(Node *n) {
if (!n) {
return;
}
if (n->l) {
pn(n->l);
}
fprintf(stdout, "%s\n", n->v);
if (n->r) {
pn(n->r);
}
return;
}
int main(int argc, char **argv) {
Node *r = NULL;
for (argv++, argc--; argc; argv++, argc--) {
Node *n = malloc(sizeof(Node));
n->v = *argv;
n->l = n->r = NULL;
an(&r, n);
}
pn(r);
exit(EXIT_SUCCESS);
}
|