Browse Source

remove unused avl functions

vampirefrog 1 year ago
parent
commit
641b9ae9e9
2 changed files with 0 additions and 201 deletions
  1. 0
    196
      src/avl/avl.c
  2. 0
    5
      src/avl/avl.h

+ 0
- 196
src/avl/avl.c View File

@@ -43,9 +43,6 @@ avl_private void		avl_adjust_depth(avl_root_node *root, avl_node *node_ptr);
43 43
 avl_private avl_node		*avl_balance(avl_root_node *root, avl_node *node_ptr);
44 44
 avl_private inline void		avl_adjust_parent(avl_root_node *root, avl_node *node_ptr,
45 45
 						  avl_node *rotate_node);
46
-avl_private void	avl_print_tree(avl_root_node *root, avl_node *node_ptr, int level);
47
-avl_private int		avl_check_tree( avl_root_node* root, avl_node *node_ptr );
48
-
49 46
 
50 47
 #ifdef AVL_LIBRARY
51 48
   /* if compiled as library. */
@@ -65,12 +62,6 @@ avl_private int		avl_check_tree( avl_root_node* root, avl_node *node_ptr );
65 62
 #define	AVL_BALANCE(node_ptr)	((node_ptr)->right_depth - (node_ptr)->left_depth)
66 63
 
67 64
 
68
-#if 0
69
-static char avl_version[] = "Generic AVL-tree Library v0.1 (Copyright (C) 1991 K.Abe)";
70
-#endif
71
-
72
-
73
-
74 65
 /*
75 66
 
76 67
   節点の回転の下請け処理
@@ -353,27 +344,6 @@ void	(*print_func)( AVL_USERDATA* );
353 344
     return root;
354 345
 }
355 346
 
356
-
357
-/*
358
-
359
-  AVL-tree を壊す
360
-
361
-*/
362
-avl_public void	AVL_destroy_tree( root )
363
-avl_root_node	*root;
364
-{
365
-    avl_node	*node_ptr;
366
-    avl_node	*next;
367
-
368
-    for( node_ptr = root->avl_tree ; node_ptr != NULL ; node_ptr = next ) {
369
-	next = node_ptr->next;
370
-	(*( root->free_function ))( node_ptr->data );
371
-	free( node_ptr );
372
-    }
373
-    free( root );
374
-}
375
-
376
-
377 347
 /*
378 348
 
379 349
   AVL-tree に挿入する
@@ -575,170 +545,4 @@ AVL_USERDATA	*data;
575 545
     return NULL;
576 546
 }
577 547
 
578
-
579
-/*
580
-
581
-  AVL-tree から data の前を検索する
582
-
583
-  data と同じ avl_node があればそれを返す
584
-
585
-  見つからない場合 NULL を返す
586
-
587
-*/
588
-avl_public avl_node	*AVL_search_previous( root , data )
589
-avl_root_node	*root;
590
-AVL_USERDATA	*data;
591
-{
592
-    avl_node	*node_ptr , *old_ptr = NULL;
593
-    int		comp = 0;
594
-
595
-    node_ptr = root->avl_tree;
596
-    while( node_ptr != NULL ) {
597
-	old_ptr = node_ptr;
598
-	comp = AVL_COMPARE( data , node_ptr->data );
599
-	if( comp < 0 )
600
-	    node_ptr = node_ptr->left;
601
-	else if( comp > 0 )
602
-	    node_ptr = node_ptr->right;
603
-	else
604
-	    return node_ptr;	/* found */
605
-    }
606
-    /* not found */
607
-    if( old_ptr ) {
608
-	if( comp > 0 )
609
-	    return old_ptr;
610
-	else
611
-	    return old_ptr->previous;
612
-    }
613
-    return NULL;
614
-}
615
-
616
-
617
-/*
618
-
619
-  AVL-tree を表示する
620
-
621
-*/
622
-avl_public void		AVL_print_tree( root )
623
-avl_root_node	*root;
624
-{
625
-    avl_print_tree( root , root->avl_tree , 0 );
626
-}
627
-
628
-
629
-avl_private void	avl_print_tree( root , node_ptr , level )
630
-avl_root_node	*root;
631
-avl_node	*node_ptr;
632
-int		level;
633
-{
634
-    int		i;
635
-
636
-    if( node_ptr == NULL )
637
-	return;
638
-    avl_print_tree( root , node_ptr->right , level + 1 );
639
-    for( i = level * 4 ; i > 0 ; i-- )
640
-	putchar( ' ' );
641
-    (*( root->print_function ))( node_ptr->data );
642
-    printf( "(%d,%d)\n" , node_ptr->left_depth , node_ptr->right_depth );
643
-
644
-    avl_print_tree( root , node_ptr->left , level + 1 );
645
-}
646
-
647
-
648
-#if 0
649
-/*
650
-
651
-  AVL-tree を表示する その2
652
-
653
-*/
654
-avl_public void		AVL_print_tree2( avl_root_node *root )
655
-{
656
-    avl_node	*node_ptr;
657
-
658
-    printf( "\n" "--------\n" );
659
-
660
-    for( node_ptr = AVL_get_max( root ); node_ptr != NULL;
661
-	 node_ptr = AVL_previous( node_ptr ) ) {
662
-
663
-	int level;
664
-	avl_node  *nptr = node_ptr;
665
-
666
-	/* node_ptr のレベルを調べる */
667
-	for( level = 0; nptr != NULL; level++ )
668
-	    nptr = nptr->parent;
669
-
670
-	for( level *= 2; level > 0; level-- )
671
-	    putchar(' ');
672
-	(*( root->print_function ))( node_ptr->data );
673
-	printf( "(%d,%d)\n", node_ptr->left_depth, node_ptr->right_depth );
674
-    }
675
-}
676
-#endif
677
-
678
-
679
-avl_public void		AVL_check_tree( root )
680
-avl_root_node	*root;
681
-{
682
-    avl_check_tree( root , root->avl_tree );
683
-}
684
-
685
-
686
-avl_private int	avl_check_tree( root , node_ptr )
687
-avl_root_node	*root;
688
-avl_node	*node_ptr;
689
-{
690
-    int		left_depth , right_depth;
691
-
692
-    if( node_ptr == NULL )
693
-	return 0;
694
-
695
-    left_depth = avl_check_tree( root , node_ptr->left );
696
-    right_depth = avl_check_tree( root , node_ptr->right );
697
-    if( AVL_BALANCE( node_ptr ) != 0 &&
698
-        AVL_BALANCE( node_ptr ) != 1 &&
699
-        AVL_BALANCE( node_ptr ) != -1 ) {
700
-	fputs( "AVL_check_tree: tree not balanced\n" , stderr );
701
-	exit( 1 );
702
-    }
703
-    if( ( node_ptr->left  && AVL_COMPARE( node_ptr->left->data  , node_ptr->data ) >= 0 ) ||
704
-        ( node_ptr->right && AVL_COMPARE( node_ptr->data , node_ptr->right->data ) >= 0 ) ) {
705
-	fputs( "AVL_check_tree: order error\n" , stderr );
706
-	if( node_ptr->left ) {
707
-	    fputs( "left node" , stderr );
708
-	    (*( root->print_function ))( node_ptr->left->data );
709
-	}
710
-	fputc( ' ' , stderr );
711
-	(*( root->print_function ))( node_ptr->data );
712
-	fputc( ' ' , stderr );
713
-	if( node_ptr->right ) {
714
-	    fputs( "right node" , stderr );
715
-	    (*( root->print_function ))( node_ptr->right->data );
716
-	}
717
-	fputc( '\n' , stderr );
718
-	AVL_print_tree( root );
719
-	exit(1);
720
-    }
721
-    if( node_ptr->left_depth != left_depth || node_ptr->right_depth != right_depth ) {
722
-	fputs( "AVL_check_tree: depth error\n" , stderr );
723
-	exit( 1 );
724
-    }
725
-    if( ( node_ptr->left  && node_ptr->left->parent != node_ptr )
726
-     || ( node_ptr->right && node_ptr->right->parent != node_ptr ) ) {
727
-	fputs( "AVL_check_tree: child error\n" , stderr );
728
-	exit( 1 );
729
-    }
730
-    if( node_ptr->parent == NULL ) {
731
-	if( root->avl_tree != node_ptr ) {
732
-	    fputs( "AVL_check_tree: root node mismatch\n" , stderr );
733
-	    exit( 1 );
734
-	}
735
-    } else {
736
-	if( node_ptr->parent->left != node_ptr && node_ptr->parent->right != node_ptr ) {
737
-	    fputs( "AVL_check_tree: parent error\n" , stderr );
738
-	    exit( 1 );
739
-	}
740
-    }
741
-    return( left_depth > right_depth ? left_depth : right_depth ) + 1;
742
-}
743
-
744 548
 /* EOF */

+ 0
- 5
src/avl/avl.h View File

@@ -90,15 +90,10 @@ avl_public avl_root_node	*AVL_create_tree( int (*compare_function)
90 90
 					 ( AVL_USERDATA* , AVL_USERDATA* ) ,
91 91
 					  void (*free_function)( AVL_USERDATA* ) ,
92 92
 					  void (*print_function)( AVL_USERDATA* ) );
93
-avl_public void		AVL_destroy_tree(avl_root_node *root);
94 93
 avl_public avl_node	*AVL_insert(avl_root_node *root, AVL_USERDATA *data);
95 94
 avl_public void		AVL_delete(avl_root_node *root, avl_node *delete_node);
96 95
 avl_public avl_node	*AVL_search(avl_root_node *root, AVL_USERDATA *data);
97 96
 avl_public avl_node	*AVL_search_next(avl_root_node *root, AVL_USERDATA *data);
98
-avl_public avl_node	*AVL_search_previous(avl_root_node *root, AVL_USERDATA *data);
99
-avl_public void		AVL_print_tree(avl_root_node *root);
100
-avl_public void		AVL_check_tree(avl_root_node *root);
101
-
102 97
 
103 98
 #ifndef AVL_NOMACRO
104 99
 #define	AVL_get_data(node_ptr)	((node_ptr)->data)

Loading…
Cancel
Save