[C] Implementacja stosu

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
}
Dzięki za wizytę,
Mateusz Mazurek
Podziel się na:
    Facebook email PDF Wykop Twitter

3
Dodaj komentarz

avatar
2 Wątki
1 Odpowiedzi
0 Śledzący
 
Komentarz z największą liczbą reakcji
Najczęściej komentowany wątek
2 Komentarze autora
Mateusz M.Sylwia Ostatnie komentarze autora

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Subskrybuj  
Powiadom o
trackback

[…] implementacja stosu. Jak to zrobić? Podpowiedź znajdziesz w komentarzach do kodu który znajdziesz tutaj :) Podziel się na: | | | | | | | | ← NKB, ZM i U2 – […]

Sylwia
Gość
Sylwia

Zmień czcionkę na taką z polskimi znakami proszę :) będzie się jeszcze lepiej czytało