Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- struct kolejka
- {
- int dana;
- struct kolejka *nast;
- };
- void dodaj_element_k(struct kolejka **p, int co_dodac)
- {
- struct kolejka *pom = *p;
- struct kolejka *el = malloc(sizeof(struct kolejka));
- el->dana = co_dodac;
- el->nast = NULL;
- if(*p == NULL)
- {
- *p = el;
- }
- else
- {
- while(pom->nast != NULL)
- pom = pom->nast;
- pom->nast = el;
- }
- }
- int usun_element_p(struct kolejka **p)
- {
- if(*p != NULL)
- {
- struct kolejka *pom = (*p)->nast;
- int zwroc_wartosc = (*p)->dana;
- free(*p);
- *p = pom;
- return zwroc_wartosc;
- }
- return -1;
- }
- void usun_kolejke(struct kolejka **p)
- {
- while(usun_element_p(p) != -1);
- }
- void wyswietl_kolejke(struct kolejka *p)
- {
- while(p != NULL)
- {
- printf("Element kolejki: %d\n", p->dana);
- p = p->nast;
- }
- }
- void sprawdz_kolejke(struct kolejka *p)
- {
- if(p != NULL)
- printf("Elementy sa jeszcze w kolejce...\n");
- else printf("Kolejka jest pusta...\n");
- }
- int main()
- {
- struct kolejka *poczatek = NULL;
- dodaj_element_k(&poczatek, 2);
- dodaj_element_k(&poczatek, 4);
- dodaj_element_k(&poczatek, 6);
- dodaj_element_k(&poczatek, 8);
- dodaj_element_k(&poczatek, 10);
- printf("Wyswietlam kolejke... \n");
- wyswietl_kolejke(poczatek);
- printf("Usuwam element z kolejki: %d\n", usun_element_p(&poczatek));
- printf("Wyswietlam kolejke po usunieci 1 elementu:\n");
- wyswietl_kolejke(poczatek);
- sprawdz_kolejke(poczatek);
- printf("Usuwam cala kolejke...\n");
- usun_kolejke(&poczatek);
- sprawdz_kolejke(poczatek);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement