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.
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:
code:
1:
2:
3:
4:
5:
6:
7:
/* Returns wether the stack s is empty.
*/
int empty(stack s) {
//TODO
}
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.
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