for (brother = (struct node *) 0, node = self->son; node && node->brother; brother = node, node = node->brother) {
if (node->to > node->brother->to) {
- if (brother) {
- tmp = node->brother;
- node->brother = node->brother->brother;
- tmp->brother = node;
+ tmp = node->brother;
+ node->brother = node->brother->brother;
+ tmp->brother = node;
+ if (brother)
brother->brother = tmp;
- } else {
- tmp = node->brother;
- node->brother = node->brother->brother;
- tmp->brother = node;
+ else
self->son = tmp;
- }
brother = (struct node *) 0;
node = self->son;
}