R1CVDQT1U8E2H
Zdjęcie przedstawia trzy rzędy po trzy karteczki samoprzylepne przyklejone na ścianie.

I_R_W14_M36_1_C++ Dynamiczne struktury danych: stos i kolejka

Źródło: Kelly Sikkema, domena publiczna.

W pracy programisty często trzeba zastosować odpowiednie struktury danych. Wykorzystując je, możemy rozwiązywać wiele problemów życia codziennego, np. program, w którym zastosujemy kolejkę, usprawni pracę restauracji i sklepu internetowego, czyli miejsc, w których istotna jest kolejność napływających zgłoszeń.

Ćwiczenie na rozgrzewkę.

Ćwiczenie 1

Magazyn pudełek

Wyobraź sobie, że w magazynie znajdują się pudełka z numerami. Pudełka można dokładaćzabierać według określonych zasad.

Obowiązują następujące zasady wykonywania operacji na pudełkach:

  1. Na początku w magazynie nie ma żadnych pudełek.

  2. Możesz dokładać pudełka jedno na drugie.

  3. Gdy chcesz zabrać pudełko, możesz zabrać tylko to, które jest na samej górze.

Zadania:

  • Narysuj sytuację po wykonaniu operacji:
    dodaj 1, dodaj 2, dodaj 3, zabierz jedno pudełko.

  • Jakie pudełko zostanie zabrane?

  • Czy da się wyjąć pudełko „1” bez zdejmowania pozostałych?

W tym e‑materiale omówimy stos i kolejkę, czyli jedne z częściej wykorzystywanych struktur. 

Twoje cele
  • Scharakteryzujesz koncepcje stosu i kolejki.

  • Prześledzisz terminologię związaną ze stosem i kolejką.

  • Przeanalizujesz przykładowe zastosowania stosu i kolejki.