Kolejka czyli lista jednokierunkowa dla której możliwe działania to dodawanie na koniec elementu, odczyt i usuwanie 1 elemntu.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | //Implementacja koleji, Mateusz Mazurek 10 maj 2012r. #include <stdio.h> #include <stdlib.h> typedef struct a{ int a; struct a *next; } strk; int odczyt(strk *); //odczyt 1 elementu strk* usun(strk *); // usuwanie 1 elementu void wstaw(strk *, int); // wstawienie na koniec int main() { strk a; strk* wsk=&a; wsk->next=NULL; wsk->a=1; wstaw(wsk, 2); wstaw(wsk, 3); printf("%d\n\n", odczyt(wsk)); return 0; } int odczyt(strk* a){ return a->a; } strk * usun(strk *a){ strk *w =a;// zapamietujemy to co usuwamy a=a->next; // przeskakujemy usuwany element free(w); // zwalniamy pamiec przeskoczonego elementu return a; // tak spreparowana liste wzracamy } void wstaw(strk *a, int co){ while(a->next != NULL) { a=a->next; } strk *nowy = (strk*) malloc(sizeof(strk));//nowy element w pamiec nowy->a=co;// wartosc przpisana nowy->next=NULL;// wskaznik przypisany do NULL a->next=nowy; // podlaczamy nowa do starej } |
Mateusz Mazurek