Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Suche » Suchergebnis » Hallo Gast [Anmelden|Registrieren]
Zeige Beiträge 1 bis 8 von 8 Treffern
Autor Beitrag
Thema: Stack Liste
lilli.

Antworten: 16
Hits: 12.657
06.03.2014 17:12 Forum: Theoretische Informatik


Ich verstehe es leider nicht. Ich bin da echt noch in den Anfängen.
push hängt von frame_data_t und call_stack_t ab.

void push (frame_data_t *frame)
{


if (s == NULL)
return;

frame= new_frame();
frame->value = value;

if (s->top == NULL) {
s->top = frame;
s->size = 1;
return;
}

st->previous = s->top;
s->top = frame;
s->size++;
}
Thema: Stack Liste
lilli.

Antworten: 16
Hits: 12.657
06.03.2014 16:43 Forum: Theoretische Informatik


Ich verstehe das leider nicht, wir haben leider kein anderes Beispiel bekommen. Ich weis zwar was ein stack macht, aber nicht wie die einzelnen Operatoren arbeiten. Ich kenne push und Pop mehr nicht.
Thema: Stack Liste
lilli.

Antworten: 16
Hits: 12.657
06.03.2014 15:32 Forum: Theoretische Informatik


void push(frame_data_t *frame){

if((s = (call_frame_t*)malloc sizeof(call_frame_t))) = =NULL){

perror("malloc);
exit(EXIT_FAILURE);
}

s->data = frame;
s-> prev= NULL;
return s;

Ich habe leider keine Ahnung wie es weitergehen soll.
Thema: Stack Liste
lilli.

Antworten: 16
Hits: 12.657
06.03.2014 15:09 Forum: Theoretische Informatik


Ansatz zu 3.)

void push(frame_data_t *frame){

frame_data_t *frame;

if((s = (call_frame_t*)malloc sizeof(call_frame_t))) = =NULL){

perror("malloc);
exit(EXIT_FAILURE);
}
Thema: Stack Liste
lilli.

Antworten: 16
Hits: 12.657
06.03.2014 14:37 Forum: Theoretische Informatik


stimmt es so:
1.)
typedef struct call_frame{
frame data *data;
struct call_frame *previous;
}call_frame_t;
2.)

call_stack.size = 0;
call_stack.top = NULL;
Thema: Stack Liste
lilli.

Antworten: 16
Hits: 12.657
06.03.2014 14:22 Forum: Theoretische Informatik


Aufgabe2 : Deklarieren Sie eine globale Variable call_stack vom Typen call_stack_t und nehmen Sie eine Belegung der Elemente auf sinnvolle Werte für einen leeren Stapel vor (entweder durch Initialisierung oder durch Zuweisungen der Strukturelemente in main).

Meine Lösung:

call_stack.size = 0;
call_stacktop = NULL;

3.)Implementieren Sie eine Funktion push, die ein Nutzdatenobjekt oben auf den Stapel "auflegt". Nutzdaten werden als Zeiger an die Funktion übergeben und müssen nicht erst allokiert werden. Ist das Argument ein Nullzeiger, so nimmt die Funktion keine Veränderungen am Stapel vor. Der Prototyp sieht folgende Typisierung der Funktion vor:
void push(frame_data_t *frame)

wie gehe ich hier vor?
Thema: Stack Liste
lilli.

Antworten: 16
Hits: 12.657
06.03.2014 14:12 Forum: Theoretische Informatik


ja genau. Aber das Erste hab ich jetzt nicht verstanden.
Thema: Stack Liste
lilli.

Antworten: 16
Hits: 12.657
Stack Liste 06.03.2014 13:43 Forum: Theoretische Informatik


Hallo,

kann mir jemand bitte diese Aufgabe korrigieren?
Zuerst müssen die Datentypen aus der Liste definiert werden.
So habe ich das umgesetzt:


typedef struct frame_data{
int retval;
int param[16];
int pcount;
} frame_data_t;

typedef struct call_frame{
int data;
struct call_frame *previous;
}call_frame_t;

typedef struct call_stack{
call_frame_t *top;
int size;
}call_stack_t;
Zeige Beiträge 1 bis 8 von 8 Treffern