Mercurial > hg > Papers > 2016 > kkb-master
view paper/src/rotate.c @ 16:958634b9fa32
make paper directory
author | Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 17 Feb 2016 16:59:46 +0900 |
parents | src/rotate.c@2d6755608f67 |
children |
line wrap: on
line source
// Code Gear __code rotateLeft(struct Context* context, struct Node* node, struct Tree* tree, struct Traverse* traverse) { struct Node* tmp = node->right; struct Node* parent = 0; stack_pop(context->node_stack, &parent); if (parent) { if (node == parent->left) parent->left = tmp; else parent->right = tmp; } else { tree->root = tmp; } stack_push(context->node_stack, &parent); node->right = tmp->left; tmp->left = node; traverse->current = tmp; stack_pop(context->code_stack, &context->next); goto meta(context, context->next); } // Meta Code Gear(stub) __code rotateLeft_stub(struct Context* context) { goto rotateLeft(context, context->data[Traverse]->traverse.current, &context->data[Tree]->tree, &context->data[Traverse]->traverse); }