Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct Node{
- double nodeValue;
- struct Node *parent;
- struct Node *left;
- struct Node *right;
- };
- struct Node *createNode(struct Node *pa, int n){
- if(n==0){
- return NULL;
- }else{
- struct Node *newNode = (struct Node*) malloc(sizeof(struct Node));
- int div=(n-1)%2;
- if(div==1){
- newNode->left = createNode(newNode, (n-1)/2+1);
- newNode->right = createNode(newNode, (n-1)/2);
- }else{
- newNode->left = createNode(newNode, (n-1)/2);
- newNode->right = createNode(newNode, (n-1)/2);
- }
- newNode->parent = pa;
- newNode->nodeValue =((double)rand()) / RAND_MAX;
- printf("NewNode: %f\n", newNode->nodeValue);
- return newNode;
- }
- }
- struct Node *makeRandomTree(int numberOfNodes){
- return createNode(NULL,numberOfNodes);
- }
- int main(){
- makeRandomTree(5);
- return 0;
- }
Add Comment
Please, Sign In to add comment