_Ziens_

Двусторонняя навигация

May 4th, 2020
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.45 KB | None | 0 0
  1. ListItem *forwardIterator(const ListItem *item) { return item->next; }
  2. ListItem *reversedIterator(const ListItem *item) { return item->prev; }
  3.  
  4. void testIterator(List *list, bool isForward) {
  5.     ListItem *(*iterator)(const ListItem *) = isForward ? forwardIterator : reversedIterator;
  6.  
  7.     for (ListItem *item = isForward ? list->head : list->tail; item; item = iterator(item)) {
  8.         //TODO:
  9.         printf("%u ", item->employee.employeeId);
  10.     }
  11. }
Add Comment
Please, Sign In to add comment