Код: Выделить всё
#include <iostream>
#include <list>
#include <string>
using namespace std;
struct Node
{
unsigned char data;
list<Node> List;
};
list<unsigned char> StringList;
void AddToTree (list<unsigned char>::iterator new_data, Node& parent)
{
if (new_data == StringList.end())
return;
Node temp;
temp.data = (*new_data);
parent.List.push_back(temp);
AddToTree(++new_data, temp);
}
static Node root;
int main()
{
for (unsigned char i = 1; i < 11; ++i)
{
StringList.push_back(i);
cout << i << " ";
}
root.data = 0;
AddToTree(StringList.begin(), root);
}