/* AGS 3.41 */ (a) IntList head(IntList *l) { IntList help = *l; //Kopfelement festhalten if (*l != NULL){ *l = (*l)->next; //neuer Listenanfang help->next = NULL; //(altes) Kopfelement von Liste abtrennen } return help; //Adresse zurueckgeben } (b) rekursive Loesung: int aufsteigend(IntList l){ if ((l == NULL) || (l->next == NULL)) return 1; // TRUE if (l->next->key < l->key) return 0; // FALSE else return aufsteigend(l->next); } iterative Loesung: int aufsteigend(IntList l){ IntList help = l; int ergebnis = 1; // TRUE if (help != NULL) { while ((erg == 1)&&(help->next != NULL)) { if (help->next->key < help->key) ergebnis = 0; // FALSE else help = help->next; } } return ergebnis; }