Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:asd:cwiczenia:2011-queues [2011/04/10 13:15] ikaf |
pl:dydaktyka:asd:cwiczenia:2011-queues [2019/06/27 15:50] (aktualna) |
**Termin zajęć:** 12/13.04.2011 | **Termin zajęć:** 12/13.04.2011 |
| |
**Do przygotowania:** | **Do przygotowania:** |
- Znajomość zasad działania podstawowych struktur danych: | - Znajomość zasad działania podstawowych struktur danych: |
* stos | * stos |
* kolejka FIFO, cykliczna | * kolejka FIFO |
- Odwrotna Notacja Polska: | - Odwrotna Notacja Polska: |
* co to jest notacja postfixowa, prefixowa i infixowa? | * co to jest notacja postfixowa, prefixowa i infixowa? |
{ | { |
private: | private: |
int arr[MAX]; // tablica z danymi | type arr[MAX]; // tablica z danymi |
int top; // indeks elementu na wierzchu stosu | int top; // indeks elementu na wierzchu stosu |
| |
public: | public: |
stack(); // konstruktor | stack(); // konstruktor |
void push(int a); // połóż element na stosie | void push(type a); // połóż element na stosie |
int pop(); // zdejmij element ze stosu | type pop(); // zdejmij element ze stosu |
int peek(); // zwróć element ze szczytu stosu, nie zdejmując go | type peek(); // zwróć element ze szczytu stosu, nie zdejmując go |
bool isEmpty(); | bool isEmpty(); |
bool isFull(); | bool isFull(); |
}; | };</code> |
- kolejka FIFO: dodajemy elementy na koniec kolejki, pobieramy z jej początku. Kolejka może być implementowana tak, że po wyciągnięciu elementu z kolejki wszystkie pozostałe są przesuwane na początek, czyli usuwany jest zawsze pierwszy element kolejki lub implementujemy kolejkę cykliczną manipulując indeksami ostatniego i pierwszego elementu. <code> | - kolejka FIFO: dodajemy elementy na koniec kolejki, pobieramy z jej początku. Kolejka powinna być implementowana tak, że po wyciągnięciu elementu z kolejki wszystkie pozostałe są przesuwane na początek, czyli usuwany jest zawsze pierwszy element kolejki. <code> |
#define MAX 5 // rozmiar kolejki | #define MAX 5 // rozmiar kolejki |
| |
{ | { |
private: | private: |
int t[MAX]; | type t[MAX]; |
int front; // Addition End | int rear; |
int end; // Deletion End | |
| |
public: | public: |
queue(); | queue(); |
int remove(); | type remove(); // usuwa i zwraca pierwszy element kolejki |
void insert(int item); | void insert(type item); // wstawia element na koniec kolejki |
void peek(); | type front(); // zwraca pierwszy element kolejki nie usuwając go |
bool isEmpty(); | bool isEmpty(); |
bool isFull(); | bool isFull(); |
| |
}; | };</code> |
| |
| * Type jest zdefiniowany za pomocą: |
| ''typedef int type;'' |
| |
| |