Menu
Coddy logo textTech

Deque

Lekcja 6 z 23 w kursie C++ – Standardowa biblioteka szablonów w Coddy.

Deque to kontener sekwencyjny w C++, nazywany również kolejką dwustronną. O zwykłej kolejce dowiesz się później na tym kursie, w rozdziale dotyczącym adapterów kontenerów. Na razie warto wiedzieć, że w zwykłej kolejce elementy są wstawiane z tyłu i usuwane z przodu. W deque możemy jednak wstawiać i usuwać elementy zarówno z przodu, jak i z tyłu.


W deque możemy wstawiać i usuwać elementy zarówno z przodu, jak i z tyłu.

Implementujemy strukturę danych deque, dołączając bibliotekę na początku naszego pliku .cpp za pomocą #import <deque> (możemy również uzyskać dostęp do deque, dołączając plik nagłówkowy bits/stdc++.h)

Następnie tworzymy deque za pomocą następującej składni:

deque<data_type> deque_name;

Najpierw używamy słowa kluczowego deque. Następnie podajemy typ zmiennej, którą chcemy przechowywać w deque, a na końcu określamy nazwę zmiennej deque.

deque<int> numbers;

Możemy również zainicjalizować deque podczas jej deklarowania, używając tej samej składni co dla struktury danych vector:

deque<int> numbers = {1, 2, 3, 4, 5};

cout << numbers[0];
Output:
1

Elementy wstawiamy z tyłu obiektu deque za pomocą metody push_back(), a z przodu za pomocą metody push_front().

deque<int> numbers = {2, 3};

numbers.push_front(1);
numbers.push_back(4);

for(int i = 0; i < numbers.size(); i++)
	cout << numbers[i] << " ";
Output:
1 2 3 4

Metody deque

MetodaDziałanie
push_back()Wstawia nowy element na końcu
push_front()Wstawia nowy element na początku
pop_back()Usuwa element z końca
pop_front()Usuwa element z początku
size()Zwraca liczbę elementów
empty()Zwraca informację, czy deque jest pusta
clear()Usuwa wszystkie elementy z deque
challenge icon

Wyzwanie

Łatwy

Użytkownik będzie wprowadzać dodatnie liczby, aż poda -1. Wstawiaj każdą liczbę do deque, zaczynając od pierwszej z przodu, drugiej z tyłu, trzeciej z przodu itd... Następnie za pomocą pętli przejdź przez deque i wypisz każdy element, oddzielając elementy pojedynczą spacją.

 

Input
5
10
15
20
25
30
-1
Output
25 15 5 10 20 30

Spróbuj swoich sił

#include <deque>
#include <iostream>

using namespace std;

int main()
{
    // Enter your code here

    return 0;
}

Wszystkie lekcje w sekcji C++ – Standardowa biblioteka szablonów

Poćwicz samodzielnie: Kompilator C++ online