fork download
  1. node* insert_node(node *tree,node *target); /* tree に target挿入 */
  2. node* get_parent(node *tree,node *target); /* 親を取得、root時NULL */
  3.  
  4. void delete(node *tree,char n[]){
  5. node* target, *p;
  6. target = search(tree,n);
  7. if(target != NULL){
  8. p = get_parent(tree,target);
  9. if( p != NULL ){ /* 親がいない場合の処理 */ }
  10. else if( p->left == target ){ p->left = NULL; }
  11. else if( p->right == target ){ p->right = NULL; }
  12. insert_node(tree,target->left);
  13. insert_node(tree,target->right);
  14.  
  15. delete_memory(target);
  16. }
  17. else puts("データは存在しません。");
  18. }
  19.  
  20. node* get_parent(node* tree, node* target){
  21. int c;
  22. if( !tree || !target ){ return NULL; }
  23. if( tree->left == target || tree->right == target ){ return tree; }
  24. c = strcmp(tree->name,target->name);
  25. if( c == 0 ){ return NULL; }
  26. return get_parent( ( c < 0 ) ? tree->left : tree->right ,target);
  27. }
  28.  
  29. node* insert_node(node* tree,node* target){
  30. int c;
  31. if( tree == NULL || target == NULL ){ return NULL; }
  32. c = strcmp(tree->name,target->name);
  33. if( c == 0 ){ /* 競合処理 */; }
  34. else if( c < 0 ){
  35. if( tree->right == NULL ){ tree->right = target; }
  36. else { return insert_node(tree->right,target); }
  37. } else {
  38. if( tree->left == NULL ){ tree->left = target; }
  39. else { return insert_node(tree->left,target); }
  40. }
  41. return tree;
  42. }
  43.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
prog.c:2: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
prog.c:4: error: expected ‘)’ before ‘*’ token
prog.c:20: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
prog.c:29: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
stdout
Standard output is empty