Lista Cykliczna - Wyświetlanie elemenwów listy

2013-03-11 22:23
0

Witam.
Stworzyłem, niezbyt skomplikowaną listę cykliczną jednokierunkową, lecz gdzieś w pewnym momencie musiałem sie pogubić. Albo źle zapisuje elementy do stosu albo, wyświetlam je w zły sposób. Proszę o wskazówke gdzie popełniam bład

 #include<stdio.h>
#include<stdlib.h>

typedef struct Pociag {  // Faza testowa wiec narazie nie korzystam z tego
        int ID;
        char Trasa[8];
        char Typ[4];
        float Przyjazd;
        float Postoj;
        int Peron;
    } Element;

typedef struct Wezel {
        int nr;
        Wezel *nast,*poprz;
    } Wezel;
Wezel *Head=NULL;
int DodajNaKoniec(Wezel *&biezacy, int nr){
    if (biezacy!=NULL ) //jesli stos istnieje
        { 
            Wezel *tmp;
            tmp = (Wezel *)malloc(sizeof(Wezel));   
            tmp->poprz = biezacy->nast;
            tmp->nr = nr;
            biezacy->nast = tmp;
            tmp->nast = Head;
        } 
    else 
    {   // Jesli tworzymy stos
        Wezel *tmp;
        tmp=(Wezel *)malloc(sizeof(Wezel));
        tmp->poprz=tmp;
        tmp->nr= nr;
        tmp->nast=tmp;
        Head = tmp;
    }

}
//drukuje ostatni rekord, dodany na stos
void DrukujListe(Wezel *biezacy){
        printf("Adres elementu: %p\n", biezacy);
        printf("Wartosc elementu: %d \n",biezacy->nr);
}

int main(){
    Wezel *omg = NULL;
    int e=10;
    DodajNaKoniec(omg,e);
    DrukujListe(omg);
    char c = getchar();

}

Program po wyświetleniu adresu do wskaźnika, wysypuje się.

edytowany 2x, ostatnio: olesio, 2013-03-12 19:42
"Wezel nast,poprz;", "... jednokierunkową ... " - coś tu się nie zgadza. - _13th_Dragon 2013-03-11 22:28

Pozostało 580 znaków

2013-03-12 01:38
0

Wysypuje sie bo omg == NULL? a potem jak się chcesz odwołać do biezacy->nr to będzie problem:D

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0