struct event {
long seconds;
char event_type;
};
event all_events[] =
{
{1, 'A'},
{3, 'C'},
{2, 'B'},
{4, 'D'}
};
// used by qsort to sort an array
int cmpfunc (const void * a, const void * b) {
return ( *(int*)a - *(int*)b );
}
void setup() {
Serial.begin(115200);
for(int i=0; i < sizeof all_events / sizeof all_events[0]; i++)
Serial.println(all_events[i].event_type);
// sort the other_events, so the hour events are in the correct spot
size_t l = sizeof(all_events) / sizeof(all_events[0]);
// qsort - last parameter is a function pointer to the sort function
qsort(all_events, l, sizeof(all_events[0]), cmpfunc);
for(int i=0; i < sizeof all_events / sizeof all_events[0]; i++)
Serial.println(all_events[i].event_type);
}
void loop() {
;
}