Revision as of 04:58, 30 April 2012 by Zhou81 (Talk | contribs)

Shiyu Wang Lec28 April 27th

typedef struct treenode {

 struct treenode *left;
 struct treenode *right;
 int value;

}Node;

Node* root=NULL;

root=tree_insert(root,13);

root=tree_insert(root,7);

root=tree_insert(root,22);

Node*Tree_insert(Node*n,int v) {

 if(n==NULL)
 {
   return Node_construct(v);
 }
 if((n->value)==v)
 {
   return n;
 }
 if((n->value)>v)
 {
   n->left=Tree_insert(n->left,v);
 }
 else
 {
   n->right=Tree_insert(n->right,v);
 }
 return n;

}


=========================================================

Huayi Guo section-1 Professor Niklas lecture 28

  • /
  1. include<stdio.h>
  2. include<stdlib.h>
  3. include<string.h>

typedef struct TreeNode_t{

  int value;
  struct TreeNode_t *left, *right;

}TreeNode;

TreeNode *Tree_create(int value) {

  TreeNode *node = malloc(sizeof(Treenode));
  node->value = value;
  node->left = NULL;
  node->right= NULL;
    
  return node;

}

TreeNode *Tree_insert(TreeNode * node, int value) {

    if(node == NULL) return TreeNode_create(value);
    if(node->value >=value){

node->left = Tree_insert(node->left,value); } else node->right = Tree_insert(node->right,value);

    return node;

} void *Tree_inorder(TreNode *node) {

 if(node==NULL)return ;
 Tree_inorder(node->left);
 printf("%d\n",node->value);
 Tree_inoder(node->right);

}

void *Tree_preorder(TreNode *node) {

 if(node==NULL)return node;
 printf("%d\n",node->value);
 Tree_inorder(node->left);
 Tree_inoder(node->right);
 

}

TreeNode *Tree_search(TreeNode *node,int value) {

 if(node == NULL)return NULL;
 if(node->value ==)return node;
 if(node->value < value)return Tree_search(node->left,value);
 else return Tree_search(node->right,value);

}

/*void *Tree_postorder(TreNode *node) {

 if(node==NULL)return node;
 Tree_inorder(node->left);
 Tree_inoder(node->right);
 printf("%d\n",node->value);

}*/


void Tree_destroy(TreNode *node) {

   if(node==NULL)return;
   Tree_destroy(node->left);

Tree_destroy(node->right); free(node); }

int main(int argc, char *argv[]) {

   if(argc != 3){

return EXIT_FAILURE; }

   FILE *f = fopen(argv[1],"r");

if(f ==NULL){ return EXIT_FAILURE; }

   int num;

while(fscanf(f, "%d",&num) == 1){ root = Tree_insert(root, num); }

    fclose(f);

Tree_inorder(root); Tree_destroy(root);

return EXIT_SUCCESS; }

========================================

Wudi Zhou, Professor Lu's section, April 30th


typedef struct treenode {

struct treenode *left;
struct treenode *right;
int value;

}Node;

Node* root=NULL;

root=tree_insert(root,13);

root=tree_insert(root,7);

root=tree_insert(root,22);

Node*Tree_insert(Node*n,int v) {

if(n==NULL)
{
  return Node_construct(v);
}
if((n->value)==v)
{
  return n;
}
if((n->value)>v)
{
  n->left=Tree_insert(n->left,v);
}
else
{
  n->right=Tree_insert(n->right,v);
}
return n;

}

Alumni Liaison

Ph.D. on Applied Mathematics in Aug 2007. Involved on applications of image super-resolution to electron microscopy

Francisco Blanco-Silva