Advertisement
Guest User

cycle list c

a guest
Jan 4th, 2016
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.83 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. struct ListElement;
  4.  
  5. struct ListHead
  6. {
  7.     ListElement *first;
  8. };
  9.  
  10. struct ListElement
  11. {
  12.     int value;
  13.     ListElement *next;
  14. };
  15.  
  16. int main(void)
  17. {
  18.     // tworzenie listy
  19.     ListHead myList;
  20.     ListElement myElements[4];
  21.  
  22.     // inicjalizacja danych
  23.     for(int i=0; i<4; i++)
  24.     {
  25.         myElements[i].value=i+100;
  26.     }
  27.  
  28.     // glowa listy na pierwszy element
  29.     myList.first=&myElements[0];
  30.    
  31.     // wskaznik na kolejny element listy
  32.     for(int i=0; i<4-1; i++)
  33.     {
  34.         myElements[i].next=&myElements[i+1];
  35.     }
  36.     myElements[3].next=&myElements[0]; // ostatni element wskazuje na pierwszy
  37.  
  38.     // iterowanie po liscie
  39.     ListElement* arg;
  40.     arg=myList.first; // zaczynamy od elementu na ktory wskazuje glowa
  41.  
  42.     int n=100;
  43.     while(n--)
  44.     {
  45.         printf("%d\n",arg->value);
  46.         arg=arg->next; // wyznaczamy kolejny element
  47.     }
  48.  
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement