stack in c implementieren |
09.12.2010, 12:49 | Auf diesen Beitrag antworten » | |||||
bobby_charles20 | stack in c implementieren Meine Frage: Hallo Leute! Ich soll einen positiven-Zahlen-Stack (in c) als verkettete Liste, wie sie in stack.h deklariert wurde, implementieren. Ich bin eigentlich kein Informatiker also mache ich nur die Einführung in c und brauche dringend Hilfe, da ich gar nicht weiß, wie ich dieses Programm schreiben soll. Wie schreibe ich die einzelnen Funktionen? Das ist die letzte Aufgebe die ich abgeben muss. Folgender Teil vom Programm ist vorgegeben: description: A positive-number int-stack implementation. #include "stack.h" //Opaque (transparent) data structure for the stack //typedef struct _stack * stack; struct _stack { //TODO }; /* Creates a new, empty stack and returns it. * Please free the object by free_stack */ stack create_stack() { //TODO } /* Pushes an element onto the stack s. */ void push(stack s, int element) { //TODO } /* Gives back the top element of the stack s. Does not remove. * Returns -1 if the stack is empty (!). */ int top(stack s) { //TODO } /* Gives back the top element of the stack s and removes it. * Returns -1 if the stack is empty (!). */ int pop(stack s) { //TODO } /* Returns wether the stack s is empty. */ int empty(stack s) { //TODO } /* Free the memory used by stack s. Afterwards s is undefined. */ void free_stack(stack s) { //TODO } Danke für eure Hilfe! Meine Ideen: Ich weiß leider nicht, wie ich anfangen soll. |
|||||
|
||||||
10.12.2010, 22:44 | Auf diesen Beitrag antworten » | |||||
ed209 | Fangen wir an mit der Datenstruktur: Wie muß "struct _stack" aussehen, wenn du es als verkettete Liste implementieren sollst und der inhalt ein int ist? Gruß, ED |
|||||
10.12.2010, 23:51 | Auf diesen Beitrag antworten » | |||||
SuperAnd | struct _stack { int zahl; struct _stack *next; }; So, ungefähr? |
|||||
11.12.2010, 10:48 | Auf diesen Beitrag antworten » | |||||
ed209 | Ja, wobei du dir noch überlegen mußt welche seite deiner Liste "oben" ist, und welche Seite "unten" vom Stack ist. Beides geht, nur eines von beiden ist praktischer Im Zweifel probier einfach eins von beiden aus. Als nächstes mußt du die Funktionen mit Leben füllen, mal das einfachste:
Wie findest heraus ob dein Stack leer ist? Gruß, ED |
|||||
Anzeige | ||||||
|
||||||
11.12.2010, 11:57 | Auf diesen Beitrag antworten » | |||||
SuperAnd | wenn es Null ist |
|||||
11.12.2010, 12:20 | Auf diesen Beitrag antworten » | |||||
ed209 | Wie muß dann die Funktion aussehen? |
|||||
11.12.2010, 12:28 | Auf diesen Beitrag antworten » | |||||
SuperAnd |
|
|||||
11.12.2010, 13:01 | Auf diesen Beitrag antworten » | |||||
ed209 | Ich denke das könnte funktionieren, aber denk daran das schön einzurücken das ist mit dem code-tag wunderbar möglich. Jetzt versuch mal die anderen Funktionen auszufüllen. Gruß, ED |
|||||
11.12.2010, 13:20 | Auf diesen Beitrag antworten » | |||||
SuperAnd | Mein problem liegt bei stack create_stack() Ich habe keine Ahnung was ich da einfüllen sollte. |
|||||
11.12.2010, 14:19 | Auf diesen Beitrag antworten » | |||||
ed209 | Füll doch erstmal aus, was Du weißt. create_stack soll einen leeren Stack zurückgeben. Wie ein leerer Stack aussieht hast Du ja bereits geschrieben. Es ist einfacher als Du denkst |
|||||
11.12.2010, 18:34 | Auf diesen Beitrag antworten » | |||||
SuperAnd | ich habe echt keine ahnung... |
|||||
12.12.2010, 00:53 | Auf diesen Beitrag antworten » | |||||
ed209 | Dann füll erstmal aus was du weißt. |
|||||
12.12.2010, 04:15 | Auf diesen Beitrag antworten » | |||||
SuperAnd | ich habe dir pers pn geschickt... |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|