i have a project on c to implement a dictionary depending on the avl trees
the trouble is that i can't find a condition that applies to perform the double rotation
the structure is
typedef struct node *avlptr;
Take a look at the Wikipedia article for AVL trees: AVL tree - Wikipedia, the free encyclopedia. They have a diagram on the right showing different types of rotations. The case of a left-right or right-left require a double rotation to balance. Read section 1.2 "Insertion" and look at the diagrams. They describe exactly the types of imbalance that require double rotation, and what rotations will balance the tree.