1*99451b44SJordan Rupprecht //===-- main.cpp ------------------------------------------------*- C++ -*-===//
2*99451b44SJordan Rupprecht //
3*99451b44SJordan Rupprecht // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*99451b44SJordan Rupprecht // See https://llvm.org/LICENSE.txt for license information.
5*99451b44SJordan Rupprecht // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*99451b44SJordan Rupprecht //
7*99451b44SJordan Rupprecht //===----------------------------------------------------------------------===//
8*99451b44SJordan Rupprecht 
9*99451b44SJordan Rupprecht #include <stdio.h>
10*99451b44SJordan Rupprecht #include <stdlib.h>
11*99451b44SJordan Rupprecht #include <stdint.h>
12*99451b44SJordan Rupprecht 
13*99451b44SJordan Rupprecht struct node;
14*99451b44SJordan Rupprecht struct node {
15*99451b44SJordan Rupprecht 	int value;
16*99451b44SJordan Rupprecht 	node* next;
17*99451b44SJordan Rupprecht 	node () : value(1),next(NULL) {}
18*99451b44SJordan Rupprecht 	node (int v) : value(v), next(NULL) {}
19*99451b44SJordan Rupprecht };
20*99451b44SJordan Rupprecht 
21*99451b44SJordan Rupprecht void make_tree(node* root, int count)
22*99451b44SJordan Rupprecht {
23*99451b44SJordan Rupprecht 	int countdown=1;
24*99451b44SJordan Rupprecht 	if (!root)
25*99451b44SJordan Rupprecht 		return;
26*99451b44SJordan Rupprecht 	root->value = countdown;
27*99451b44SJordan Rupprecht 	while (count > 0)
28*99451b44SJordan Rupprecht 	{
29*99451b44SJordan Rupprecht 		root->next = new node(++countdown);
30*99451b44SJordan Rupprecht 		root = root->next;
31*99451b44SJordan Rupprecht 		count--;
32*99451b44SJordan Rupprecht 	}
33*99451b44SJordan Rupprecht }
34*99451b44SJordan Rupprecht 
35*99451b44SJordan Rupprecht int main (int argc, const char * argv[])
36*99451b44SJordan Rupprecht {
37*99451b44SJordan Rupprecht 	node root(1);
38*99451b44SJordan Rupprecht 	make_tree(&root,25000);
39*99451b44SJordan Rupprecht 	return 0; // Set break point at this line.
40*99451b44SJordan Rupprecht }
41