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


: veclntegers.push_back



Download 1,38 Mb.
bet292/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   288   289   290   291   292   293   294   295   ...   437
Bog'liq
word1

1 0 :

veclntegers.push_back

(1);

1 1 :

veclntegers.push_back

(987);

12: veclntegers.push_back (1001);


13:



  1. cout « "The vector contains ";




  1. cout « veclntegers.size (.) « " Elements" « endl;








  1. return 0;




  1. }



Результат



The vector contains 4 Elements

Типичные операции с вектором

409



Анализ

Метод p u sh _ b a c k (), строки 9 -12, является открытым членом класса v e c to r , встав­ ляющим объекты в конец динамического массива. Обратите внимание на использование функции s i z e (), которая возвращает количество элементов, содержащихся в векторе.




С++11


Списки инициализации

Язык С++11 предоставляет класс списков инициализации s td :. : i n i t i a l i z e _ l i s t < > , позволяющий создать экземпляр вектора и инициализировать его элементы, как будто это статический массив:




vector veclntegers = {50, 1, 987, 1001}; // альтернатива:


vector vecMorelntegers {50, 1, 987, 1001};

Этот синтаксис сократил бы три строки листинга 17.2. Но все же мы не использовали его, поскольку на момент написания этой книги компилятор M icrosoft Visual C++ 2010 не поддерживал списки инициализации для реализации класса s t d : : v e c to r .




Вставка элементов в определенную позицию с использованием метода insert ()

Метод p u sh b a c k () позволяет вставить элементы в конец вектора. Но что если нуж ­ но вставить элемент в середину? М ногие контейнеры библиотеки STL, включая класс s t d : : v e c to r , предоставляют функцию i n s e r t () со множеством перегруженных версий.


Одна позволяет задать позицию вставки элемента в последовательность:





  1. вставить элемент в начало veclntegers.insert (veclntegers.begin (), 25);

Другая позволяет определить позицию и количество элементов со значением, которое должно быть вставлено:





  1. Вставить в конец 2 числа со значением 45 veclntegers.insert (veclntegers.end (), 2, 45);

Вы можете также вставить содержимое одного вектора в выбранную позицию другого:





  1. Другой вектор, содержащий два элемента со значением 30 vector vecAnother (2, 30);

  2. Вставить два элемента из другого контейнера в позицию [1] veclntegers.insert (veclntegers.begin () +1,



vecAnother.begin (), vecAnother.end ());

Для указании функции i n s e r t () позиции вставки новых элементов, как правило, ис­ пользуется итератор, возвращаемый функцией b e g in () или en d ().


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



СОВЕТ
Этот итератор может быть также возвращен таким алгоритмом STL, как std::find (), применяемым для поиска элемента и последующей вставки другого в эту позицию (вставка сдвинет найденный элемент).

Эти форма метода v e c t o r :: i n s e r t () представлена в листинге 17.3.


Л И С ТИ Н Г 1 7 .3 . Использование функции vector:: insert ()


для вставки элементов в определенную позицию_____________________________________






  1. Download 1,38 Mb.

    Do'stlaringiz bilan baham:
1   ...   288   289   290   291   292   293   294   295   ...   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