Wel, natuurlijk :
In function 'ins_bt':
81: error: syntax error at end of input.
#include <stdio.h>
#include <stdlib.h>
struct node
{
unsigned short waarde;
struct node * links;
struct node * rechts;
};
struct node * search_bt ( struct node * bt, unsigned short s_waarde );
void ins_bt ( struct node * bt, unsigned short s_waarde );
void print_bt ( struct node * bt );
void del_bt ( struct node * bt );
int main ()
{
struct node * root = ( struct node * ) malloc ( sizeof ( struct node ) );
root->waarde = 25;
root->links = ( struct node * ) malloc ( sizeof ( struct node ) );
root->rechts = ( struct node * ) malloc ( sizeof ( struct node ) );
ins_bt ( root, 38 );
print_bt ( root );
del_bt ( root );
return 0;
}
struct node * search_bt ( struct node * bt, unsigned short s_waarde )
{
while ( bt )
{
if ( s_waarde == bt->waarde )
return bt;
else
if ( s_waarde <= bt->waarde )
bt = bt->links;
else
bt = bt->rechts;
}
return NULL;
}
void ins_bt ( struct node * bt, unsigned short s_waarde )
{
if ( bt )
{
while ( bt->links && bt->rechts )
if ( s_waarde <= bt->waarde )
bt = bt->links;
else
bt = bt->rechts;
if ( bt->waarde == 0 )
bt->waarde = s_waarde;
else if ( s_waarde <= bt->waarde )
{
bt->links = ( struct node * ) malloc ( sizeof ( struct node ) );
bt->waarde = s_waarde;
}
else
{
bt->rechts = ( struct node * ) malloc ( sizeof ( struct node ) );
bt->waarde = s_waarde;
}
}
void print_bt ( struct node * bt )
{
if ( bt )
{
print_bt ( bt->links );
print_bt ( bt->rechts );
printf ( "%hu \n", bt->waarde );
}
}
void del_bt ( struct node * bt )
{
if ( bt )
{
del_bt ( bt->links );
del_bt ( bt->rechts );
free ( bt );
}
}
En laat regel 81 nou even toevallig niet behoren tot de functie "ins_bt".