xref: /llvm-project/lldb/test/API/functionalities/recursion/main.cpp (revision fdea9a4ec9b0d9585b8fe8a612686d9f44f40ddc)
1*99451b44SJordan Rupprecht #include <stdio.h>
2*99451b44SJordan Rupprecht #include <stdlib.h>
3*99451b44SJordan Rupprecht #include <stdint.h>
4*99451b44SJordan Rupprecht 
5*99451b44SJordan Rupprecht struct node;
6*99451b44SJordan Rupprecht struct node {
7*99451b44SJordan Rupprecht 	int value;
8*99451b44SJordan Rupprecht 	node* next;
nodenode9*99451b44SJordan Rupprecht 	node () : value(1),next(NULL) {}
nodenode10*99451b44SJordan Rupprecht 	node (int v) : value(v), next(NULL) {}
11*99451b44SJordan Rupprecht };
12*99451b44SJordan Rupprecht 
make_tree(node * root,int count)13*99451b44SJordan Rupprecht void make_tree(node* root, int count)
14*99451b44SJordan Rupprecht {
15*99451b44SJordan Rupprecht 	int countdown=1;
16*99451b44SJordan Rupprecht 	if (!root)
17*99451b44SJordan Rupprecht 		return;
18*99451b44SJordan Rupprecht 	root->value = countdown;
19*99451b44SJordan Rupprecht 	while (count > 0)
20*99451b44SJordan Rupprecht 	{
21*99451b44SJordan Rupprecht 		root->next = new node(++countdown);
22*99451b44SJordan Rupprecht 		root = root->next;
23*99451b44SJordan Rupprecht 		count--;
24*99451b44SJordan Rupprecht 	}
25*99451b44SJordan Rupprecht }
26*99451b44SJordan Rupprecht 
main(int argc,const char * argv[])27*99451b44SJordan Rupprecht int main (int argc, const char * argv[])
28*99451b44SJordan Rupprecht {
29*99451b44SJordan Rupprecht 	node root(1);
30*99451b44SJordan Rupprecht 	make_tree(&root,25000);
31*99451b44SJordan Rupprecht 	return 0; // Set break point at this line.
32*99451b44SJordan Rupprecht }
33