fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct {
  5. int ZugId; // Darauf möchte ich zugreifen
  6. int bahnhofId;
  7. int anStunde; // Darauf möchte ich zugreifen
  8. int anMinute; // Darauf möchte ich zugreifen
  9. int abStunde;
  10. int abMinute;
  11. int anzahlAussteiger;
  12. int anzahlEinsteiger;
  13. } Schedule;
  14.  
  15. typedef struct {
  16. Schedule *schedules; // Über das hier
  17. int count;
  18. int allocated;
  19. } List;
  20.  
  21. int cmp(const void*a, const void*b)
  22. { /* aufsteigend sortieren nach 2 rangungleichen Kriterien */
  23. const Schedule *x = a, *y = b;
  24. if (x->anStunde != y->anStunde)
  25. return x->anStunde <= y->anStunde ? -1 : 1;
  26. return x->anMinute <= y->anMinute ? -1 : 1;
  27. }
  28.  
  29. int main()
  30. {
  31. List list = { (Schedule[]) { {3,3,3,3,3,3,3,3},{1,1,1,1,1,1,1,1},{2,2,2,2,2,2,2,2},{0},{9,9,9,9,9,9,9,9} },5 };
  32. qsort(list.schedules, list.count, sizeof*list.schedules, cmp);
  33. for (int i = 0; i < list.count; ++i)
  34. printf("%d\n", list.schedules[i].ZugId);
  35. return 0;
  36. }
  37.  
  38.  
Success #stdin #stdout 0s 2168KB
stdin
Standard input is empty
stdout
0
1
2
3
9