Stos jest listą jednokierunkową w które operacje wykonywane są na 1 elemencie.
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 | //Implementacja stosu, 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 strk* wstaw(strk *, int); // wstawienie na poczatek int main() { strk a; strk* wsk=&a; wsk->next=NULL; wsk->a=1; wsk=wstaw(wsk, 2); wsk=usun(wsk); wsk=wstaw(wsk, 3); wsk=wstaw(wsk, 4); wsk=usun(wsk); 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 } strk* wstaw(strk *a, int co){ strk *nowy = (strk*) malloc(sizeof(strk));//nowy element w pamiec nowy->a=co;// wartosc przpisana nowy->next=a;// wskaznik przypisany do reszty listy a=nowy;// podmiana return a;// zwracamy nowa liste } |
Mateusz Mazurek
Zmień czcionkę na taką z polskimi znakami proszę :) będzie się jeszcze lepiej czytało
Dzięki – zmienię:)