// ΡΠΈΡΠ°ΡΡ ΡΠ»ΠΎΠ²Π° ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²Π²ΠΎΠ΄Π° ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ
// ΠΈΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
string word;
while (cin >> word)
container.push_back(word);
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ push_back() ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° container, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° 1. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΏΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ word. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ: list, vector ΠΈΠ»ΠΈ deque.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ»Π°ΡΡ string β ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΡΠ½ΠΊΡΠΈΡ push_back() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π΅Π΅ ΠΊΠΎΠ½Π΅Ρ:
void pluralize(size_t cnt, string &word) {
if (cnt > 1)
word.push_back('s'); // ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ word += 's'
}
ΠΠ»ΡΡΠ΅Π²Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ. ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠΎΠΏΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉΠΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠ»ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ Π² Π½Π΅Π³ΠΎ, Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΏΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π° Π½Π΅ ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Π½Π΅ ΡΡΡΠ»ΠΎΡΠ½ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 6.2.1), ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π»Ρ Π΅Π³ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ²ΡΠ·ΠΈ. ΠΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²Π»ΠΈΡΡΡ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ push_front()ΠΡΠΎΠΌΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ push_back(), ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ list, forward_list ΠΈ deque ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ push_front(). ΠΠ½Π° Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
list<int> ilist;
// Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ilist
for (size_t ix = 0; ix != 4; ++ix)
ilist.push_front(ix);
ΠΡΠΎΡ ΡΠΈΠΊΠ» Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ 0, 1, 2, 3 Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠΏΠΈΡΠΊΠ° ilist. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π½ΠΎΠ²ΠΎΠ΅ Π½Π°ΡΠ°Π»ΠΎ ΡΠΏΠΈΡΠΊΠ°, Ρ.Π΅. ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ 1, ΠΎΠ½Π° ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ 0, 2 β ΠΏΠ΅ΡΠ΅Π΄ 1 ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠΈΠΊΠ»Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠΏΠΈΡΠΎΠΊ ilist ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ: 3, 2, 1, 0.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ deque, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ vector Π±ΡΡΡΡΡΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ²ΠΎΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ-ΡΠ»Π΅Π½ΠΎΠΌ push_front(), Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ vector β Π½Π΅Ρ. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ deque Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π½Π°ΡΠ°Π»ΠΎ ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ°ΠΊ ΠΈ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° vector, Π²ΡΡΠ°Π²ΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½Π°ΡΠ΅ ΠΊΠ°ΠΊ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° deque β ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ vector, string ΠΈΠ»ΠΈ deque ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ, ΡΡΡΠ»ΠΊΠΈ ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΎΡΠΊΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Π€ΡΠ½ΠΊΡΠΈΠΈ push_back() ΠΈ push_front() ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠΎΠ½Π΅Ρ ΠΈΠ»ΠΈ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π€ΡΠ½ΠΊΡΠΈΡ insert() ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΎΠΌ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠ°Π²Π»ΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π»ΡΠ±ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ vector, deque, list ΠΈ string, Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ forward_list ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ-ΡΠ»Π΅Π½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 9.3.4.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΈΡΠ΅ΡΠ°ΡΠΎΡ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° (ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²) Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π»ΡΠ±ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠΏΠΎΡΠΎΠ± Π²ΡΡΠ°Π²ΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π½Π°ΡΠ°Π»ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΠ»Π΅ΠΌΠ΅Π½Ρ (ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ) Π²ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ:
slist.insert(iter, "Hello!"); // Π²ΡΡΠ°Π²ΠΈΡΡ "Hello!" ΠΏΡΡΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄ iter
ΠΠ½ Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ "Hello" Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ iter.
ΠΠ°ΠΆΠ΅ ΠΏΡΠΈ ΡΠΎΠΌ, ΡΡΠΎ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π½Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ push_front(), ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ insert() ΡΡΠΎ Π½Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ insert() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠ°Π²Π»ΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π½Π΅ Π·Π°Π±ΠΎΡΡΡΡ ΠΎ Π½Π°Π»ΠΈΡΠΈΠΈ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ push_front():
vector<string> svec;
list<string> slist;
// ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ Π²ΡΠ·ΠΎΠ²Π° slist.push_front("Hello!");
slist.insert(slist.begin(), "Hello!");
// Π²Π΅ΠΊΡΠΎΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ push_front(),
// Π½ΠΎ Π²ΡΡΠ°Π²ΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄ begin() Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°
// Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π²ΡΡΠ°Π²ΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π²Π΅Π·Π΄Π΅, Π½ΠΎ Π²ΡΡΠ°Π²ΠΊΠ° Π² ΠΊΠΎΠ½Π΅Ρ Π²Π΅ΠΊΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ
// ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
svec.insert(svec.begin(), "Hello!");
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ vector, deque ΠΈ string Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π²ΡΡΠ°Π²ΠΊΡ Π² Π»ΡΠ±ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ, Π½ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΡΠ°Π²ΠΊΠ° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ insert(), ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΠ΅ΡΡΠΈΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ°Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ:
svec.insert(svec.end(), 10, "Anna");
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΊΠΎΠ½Π΅Ρ Π²Π΅ΠΊΡΠΎΡΠ° svec ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΡΡΡΠΎΠΊΠΎΠΉ "Anna".
ΠΠ°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ insert() ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ°ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π΄ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ:
vector<string> v = {"quasi", "simba", "frollo", "scar"};
// Π²ΡΡΠ°Π²ΠΈΡΡ Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²Π΅ΠΊΡΠΎΡΠ° v Π² Π½Π°ΡΠ°Π»ΠΎ slist
slist.insert(slist.begin(), v.end() - 2, v.end());
slist.insert(slist.end(), {"these", "words", "will",
"go", "at", "the", "end"});
// ΠΎΡΠΈΠ±ΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:
// ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠ΅ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ
// Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ
slist.insert(slist.begin(), slist.begin(), slist.end());
ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΠΏΠ°ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
ΠΠΎ Π½ΠΎΠ²ΠΎΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΡ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ insert(), ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. (Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π²Π΅ΡΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΈ ΡΠΈΠΏ void.) ΠΡΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΏΡΡΡ, Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π΅ Π²ΡΡΠ°Π²Π»ΡΡΡΡΡ, Π° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ insert()ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ insert(), ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠΉ Π²ΡΡΠ°Π²ΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
list<string> lst;
auto iter = lst.begin();
while (cin >> word)
iter = lst.insert(iter, word); // ΡΠΎ ΠΆΠ΅, ΡΡΠΎ ΠΈ Π²ΡΠ·ΠΎΠ² push_front()
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΈΠΊΠ», ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΡΡΠΎΠΌΡ, ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΈ push_front().
ΠΠ΅ΡΠ΅Π΄ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ iter ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ lst.begin(). ΠΠ΅ΡΠ²ΡΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ insert() ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π΅ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ iter. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ insert(), ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Π½Π° ΡΡΠΎΡ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΡΠΈΡΠ²ΠΎΠΈΠΌ ΡΡΠΎΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ iter ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌ ΡΠΈΠΊΠ», ΡΠΈΡΠ°Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ. ΠΠΎΠΊΠ° Π΅ΡΡΡ ΡΠ»ΠΎΠ²Π° Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΠΊΠ»Π° while Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ iter ΠΈ ΡΠ½ΠΎΠ²Π° ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ Π΅ΠΌΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π΅Π΄Π°Π²Π½ΠΎ Π²ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΡΠΎΡ (Π½ΠΎΠ²ΡΠΉ) ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π² ΡΠΏΠΈΡΠΊΠ΅.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ emplace()ΠΠΎΠ²ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ Π²Π²ΠΎΠ΄ΠΈΡ ΡΡΠΈ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° β emplace_front(), emplace() ΠΈ emplace_back(), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, Π° Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΡΡ. ΠΠ½ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌ push_front(), insert() ΠΈ push_back(), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΏΠ΅ΡΠ΅Π΄ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ»Π΅Π½Π° insert() ΠΈΠ»ΠΈ push(), ΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΈΠΏΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ emplace(), Π΅Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΡΠΈΠΏΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΈΠΏΠ° Sales_data (ΡΠΌ. ΡΠ°Π·Π΄Π΅Π» 7.1.4):
// ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Sales_data Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ
// ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° Sales_data Ρ ΡΡΠ΅ΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
Ρ.emplace_back("978-05903534 03", 25, 15.99);
// ΠΎΡΠΈΠ±ΠΊΠ°: Π½Π΅Ρ Π²Π΅ΡΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ push_back(), ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ΅ΠΉ ΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°