Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Employee* first; //The employee database.
- static void sort_db()
- {
- struct Employee* current, *next, *tmp;
- int swaps;
- current = first;
- if( current == NULL )
- return;
- next = current->next;
- do
- {
- current = first;
- next = current->next;
- swaps = 0;
- while ( next != NULL )
- {
- if ( strcmp ( current->name, next->name ) > 0 )
- {
- swaps++;
- if ( current->prev != NULL )
- current->prev->next = next;
- if ( next->next != NULL )
- next->next->prev = current;
- next->prev = current->prev;
- current->next = next->next;
- next->next = current;
- current->prev = next;
- if ( current == first )
- first = next;
- if ( next == last )
- last = current;
- tmp = next;
- next = current;
- current = tmp;
- }
- current = next;
- next = current->next;
- }
- } while ( swaps != 0 );
- }
Advertisement
Add Comment
Please, Sign In to add comment