I have made a class of tree with 12 children. I insert the data in the tree systematically, Like first root, then first children , second children, and so on.

I am having problems in coding this function.

I am sharing with you, whatever i have managed so far.

here is the code, Kindly help with the insert function.

Code:

class Node
{
public:
char data[25];
Node *next[12];
};
class Tree
{
Node* root;
public:
Tree()
{
root=NULL;
}
void insert(char a[25])
{
Node* temp = new Node();
strcpy(temp->data,a );
//temp = root;
for (int i = 1; i < 13; i ++)
temp->next[i] = NULL;
for (int i = 1; i <13; i ++)
{
if (temp->next[i] == NULL)
strcpy(temp->data,a);
//break;
return;
}
for (int i= 1; i < 13; i++)
{
temp = temp->next[i];
for (int i = 1; i <13; i ++)
{
if (temp->next[i] == NULL)
strcpy(temp->data,a);
//break;
return;
}
temp = root;
}
for (int i= 1; i < 13; i++)
{
temp = temp->next[i]->next[i];
for (int i = 1; i <13; i ++)
{
if (temp->next[i] == NULL)
strcpy(temp->data,a);
return;
}
temp = root;
}
}
void treeSearch(char a[25])
{
Node* temp;
temp = root;
bool flag = false;
for ( int i = 1; i < 13; i++ )
{
if (strcmp(temp->next[i]->data,a)== 0)
{
flag = true;
cout<<"Found";
break;
}
}
if ( flag == false)
{
for ( int i = 1; i < 13; i++ )
{
temp = temp->next[i];
for (int i = 1; i < 13; i++ )
{
if (strcmp(temp->next[i]->data,a)== 0)
{
flag = true;
cout<<"Found";
break;
}
}
temp = root;
}
for ( int i = 1; i < 13; i++ )
{
temp = temp->next[i]->next[i];
for (int i = 1; i < 13; i++ )
{
if (strcmp(temp->next[i]->data,a)== 0)
{
flag = true;
cout<<"Found";
break;
}
}
temp = root;
}
}
}