J¦zyki programowania (laboratorium) Lista zada« nr 3
dr Miªosz Michalski, 12.VI.2020
1. Zadanie polega na utworzeniu statycznej biblioteki zawieraj¡cej deklaracje typów i funkcje obsªugi stosu implementowanego jako lista dynamiczna. Program korzystaj¡cy z operacji na stosach zawiera wówczas sto- sowny plik nagªowkowy, np. #include "obsluga_stosu.h" i podª¡czon¡ w czasie kompilacji bibliotek¦, obsluga_stosu.a.
Deklaracja stosu w programie odbywa si¦ za pomoc¡ makrodenicji STOS t EMPTY; opisanych w pliku nagªówkowym. Przykªadowy kod programu korzystaj¡cego z biblioteki:
#include <stdio.h>
#include <stdlib.h>
#include "obsluga_stosu.h"
int main(){
STOS p EMPTY;
STOS q EMPTY;
int i,j,k;
...push(&p, k);
push(&q, i+j);
...if (!empty(p)) j=pop(&p);
} ...
2. Zamieni¢ bibliotek¦ utworzon¡ w poprzednim zadaniu na tak¡, która realizuje obsªug¦ stosu jako statycznej tablicy. Kod programu korzystaj¡cego z tej wersji biblioteki (np. obsluga_stosu1.h . . . ) nie powinien zmieni¢
si¦ za wyj¡tkiem sposobu odwoªania do parametru w push i pop (teaz push(p, k) itp.) 3. Utworzy¢ bibliotek¦ obsªugi stosu realizowanego w dynamicznie alokowanej tablicy.
4. Utworzy¢ podobne biblioteki dla innych struktur: kolejek 1 i 2-stronnych, bufora cyklicznego, kolejek priory- tetowych w ró»nych poznanych wcze±niej implementacjach.