C++ за 21 день седьмое издание



Download 1,38 Mb.
bet299/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   295   296   297   298   299   300   301   302   ...   437
Bog'liq
word1

using namespace std;





    1. // Определение двухсторонней очереди целых чисел




    1. deque dqlntegers;

    10

    1. // Вставка целых чисел в конец массива




    1. dqlntegers.push_back (3);




    1. dqlntegers.push_back (4);




    1. dqlntegers.push_back (5);

    Класс deque библиотеки STL

    4 1 9


    1. Вставка целых чисел в начало массива dqlntegers.push_front (2); dqlntegers.push_front (1); dqlntegers.push_front (0);



    cout « "The contents of the deque after inserting elements cout « "at the top and bottom are:" « endl;



    1. Отображение содержимого на экране for ( size_t nCount = 0

      1. nCount < dqlntegers.size ()




      1. ++ nCount )

    {
    cout « "Element [" « nCount « "] = "; cout « dqlntegers [nCount] « endl;
    } '


    cout « endl;



    1. Извлечение элемента с начала dqlntegers.pop_front ();

    2. // Извлечение элемента с конца




    2 9

    dqlntegers.pop_back ();







    cout

    «

    "The contents of the deque after

    erasing an element ";

    4 z

    cout

    «

    "from the top and bottom are:" «

    endl;

    4 3













    1. Отображает содержимое снова: на сей раз при помощи итераторов




    1. При компиляции на устаревших компиляторах удалите ключевое




    1. слово auto и снимите комментарий со следующей строки




    1. // deque ::iterator iElementLocator;




    1. for (auto iElementLocator = dqlntegers.begin ()

    2. ; iElementLocator != dqlntegers.end ()

    3. ; ++ iElementLocator )

    5 3 {


    size_t Offset = distance (dqlntegers.begin (), iElementLocator);


    52: cout « "Element [" « Offset « "] = " « *iElementLocator



    1. endl;

    2. }



    54:



    1. return 0;







    Результат


    The contents of the deque after inserting elements at the top and bottom are:


    Element [0] = 0


    Element [1] = 1


    Element [2] = 2


    Element [3] = 3



    1. ЗАНЯТИЕ 17. Классы динамических массивов библиотеки STL



    Element [4] = 4


    Element [5] = 5


    The contents of


    Element [0] = 1


    Element [1] = 2


    Element [2] = 3


    Element [3] = 4


    Анализ



      1. строке 10 создается экземпляр двухсторонней очереди целых чисел. Обратите вни­ мание, насколько похож этот синтаксис на синтаксис создания экземпляра вектора целых чисел. Строки 11-14 демонстрирую т применение функции-члена p u s h _ b a c k () класс-d eq u e , а строки 16-19 — функции-члена p u s h _ f r o n t (). Последнее отличает двухсто­ роннюю очередь от вектора. Применение метода p o p _ f r o n t () показано в строке 37. Перу вый механизм отображения содержимого двухсторонней очереди использует для доступ*




    1. элементам синтаксис, как у массива, а второй — итераторы. В последнем случае, кап показано в строках 47-53, для вычисления позиции смещения элемента в двухстороннеё очереди используется алгоритм s t d : : d i s t a n c e ( ) , точно так же, как и при работе с век­ тором в листинге 17.5.




    РЕКОМЕНДУЕТСЯ

    Используйте динамический массив векторов или двухстороннюю очередь, когда неизвестно количество элементов, которые необходимо хранить


    Помните, что вектор может расти только с кон­ ца, при помощи метода pushjoack ()


    Помните, что двухсторонняя очередь может ра­ сти на обоих направлениях, при помощи мето­ дов push_back {) и push__front {)



    Download 1,38 Mb.

    Do'stlaringiz bilan baham:
  • 1   ...   295   296   297   298   299   300   301   302   ...   437




    Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
    ma'muriyatiga murojaat qiling

    kiriting | ro'yxatdan o'tish
        Bosh sahifa
    юртда тантана
    Боғда битган
    Бугун юртда
    Эшитганлар жилманглар
    Эшитмадим деманглар
    битган бодомлар
    Yangiariq tumani
    qitish marakazi
    Raqamli texnologiyalar
    ilishida muhokamadan
    tasdiqqa tavsiya
    tavsiya etilgan
    iqtisodiyot kafedrasi
    steiermarkischen landesregierung
    asarlaringizni yuboring
    o'zingizning asarlaringizni
    Iltimos faqat
    faqat o'zingizning
    steierm rkischen
    landesregierung fachabteilung
    rkischen landesregierung
    hamshira loyihasi
    loyihasi mavsum
    faolyatining oqibatlari
    asosiy adabiyotlar
    fakulteti ahborot
    ahborot havfsizligi
    havfsizligi kafedrasi
    fanidan bo’yicha
    fakulteti iqtisodiyot
    boshqaruv fakulteti
    chiqarishda boshqaruv
    ishlab chiqarishda
    iqtisodiyot fakultet
    multiservis tarmoqlari
    fanidan asosiy
    Uzbek fanidan
    mavzulari potok
    asosidagi multiservis
    'aliyyil a'ziym
    billahil 'aliyyil
    illaa billahil
    quvvata illaa
    falah' deganida
    Kompyuter savodxonligi
    bo’yicha mustaqil
    'alal falah'
    Hayya 'alal
    'alas soloh
    Hayya 'alas
    mavsum boyicha


    yuklab olish