Aufgabe 7) Klausur A WS 09/10
Verfasst: Do 17. Feb 2011, 22:45
Ein Eisenbahnzug sei durch eine einfach verkettete Liste dargestellt. F¨ur die folgenden
Teilaufgaben nutzen Sie bitte die folgenden Deklarationen. Die Funktionen isEmpty
und appendFirst m¨ussen nicht implementiert werden!
#define N 10
typedef struct wagen {
int wagenNummer ;
struct wagen* next ;
} Wagen , *wagenptr ;
typedef struct wa g enl i s t e {
wagenptr f i r s t ;
} Wagenl i s te , * wa g e n l i s t e p t r ;
typedef struct zug {
char lokName [N] ;
Wagenl i s te wagenfolge ;
} Zug , *zugpt r ;
/*Pruef t , ob d i e Li s t e l e e r i s t . L i e f e r t 1 zurueck ,
wenn s i e l e e r i s t , ansons ten 0 */
int isEmpty ( wa g e n l i s t e p t r l ) ;
/* f ¨u g t vorne in d i e Wagenl i s te *l
den Wagen *w e in */
void appendFi r s t ( wa g e n l i s t e p t r l , wagenptr w) ;
/* e n t f e r n t den e r s t en Wagen aus der Wagenliste * l
und g i b t d i e Referenz auf di e s en Wagen zur¨uck */
wagenptr popFi r s t ( wa g e n l i s t e p t r l ) ;
Frage:
Implementieren Sie die Funktion popFirst. Sie d¨urfen davon ausgehen, dass die
Funktion nicht f¨ur leere Wagenlisten aufgerufen wird!
wagenptr popFi r s t ( wa g e n l i s t e p t r l ) {
}
Weiss jmd, wie das geht?
Teilaufgaben nutzen Sie bitte die folgenden Deklarationen. Die Funktionen isEmpty
und appendFirst m¨ussen nicht implementiert werden!
#define N 10
typedef struct wagen {
int wagenNummer ;
struct wagen* next ;
} Wagen , *wagenptr ;
typedef struct wa g enl i s t e {
wagenptr f i r s t ;
} Wagenl i s te , * wa g e n l i s t e p t r ;
typedef struct zug {
char lokName [N] ;
Wagenl i s te wagenfolge ;
} Zug , *zugpt r ;
/*Pruef t , ob d i e Li s t e l e e r i s t . L i e f e r t 1 zurueck ,
wenn s i e l e e r i s t , ansons ten 0 */
int isEmpty ( wa g e n l i s t e p t r l ) ;
/* f ¨u g t vorne in d i e Wagenl i s te *l
den Wagen *w e in */
void appendFi r s t ( wa g e n l i s t e p t r l , wagenptr w) ;
/* e n t f e r n t den e r s t en Wagen aus der Wagenliste * l
und g i b t d i e Referenz auf di e s en Wagen zur¨uck */
wagenptr popFi r s t ( wa g e n l i s t e p t r l ) ;
Frage:
Implementieren Sie die Funktion popFirst. Sie d¨urfen davon ausgehen, dass die
Funktion nicht f¨ur leere Wagenlisten aufgerufen wird!
wagenptr popFi r s t ( wa g e n l i s t e p t r l ) {
}
Weiss jmd, wie das geht?