четверг, 16 апреля 2015 г.

This brilliant code snippet takes a node offset by the index from the head and swaps its value with the node offset by the index from the tail.


void swapAt(Node *head, int index) {

    Node * node = head;
    Node * begin, trailer;

    for (int i = 0; node != NULL; node = node->next, ++i ) {

         if ( i == index ) {
            begin = node;
            trailer = head;
         }

         if ( i > index)
             trailer = trailer->next;

    }

    int temp = begin.val;
    begin.val = trailer.val;
    trailer.val = temp;
}

Комментариев нет:

Отправить комментарий