<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://digida.mgpu.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80</id>
	<title>Последовательный контейнер - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://digida.mgpu.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80"/>
	<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80&amp;action=history"/>
	<updated>2026-04-14T21:28:13Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80&amp;diff=4592&amp;oldid=prev</id>
		<title>Patarakin: Содержимое страницы заменено на «&#039;&#039;&#039;Последовательными контейнерами&#039;&#039;&#039;  в языке программирования C++ считаются несколько предопределённых шаблонных типов данных. Каждый из элементов такого контейнера имеет определённую позицию, которая зависит от времен...»</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80&amp;diff=4592&amp;oldid=prev"/>
		<updated>2022-10-19T08:45:07Z</updated>

		<summary type="html">&lt;p&gt;Содержимое страницы заменено на «&amp;#039;&amp;#039;&amp;#039;Последовательными контейнерами&amp;#039;&amp;#039;&amp;#039;  в языке программирования &lt;a href=&quot;/index.php/C%2B%2B&quot; title=&quot;C++&quot;&gt;C++&lt;/a&gt; считаются несколько предопределённых шаблонных &lt;a href=&quot;/index.php?title=%D0%A2%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85&amp;amp;action=formedit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Тип данных (страница не существует)&quot;&gt;типов данных&lt;/a&gt;. Каждый из элементов такого контейнера имеет определённую позицию, которая зависит от времен...»&lt;/p&gt;
&lt;a href=&quot;http://digida.mgpu.ru/index.php?title=%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80&amp;amp;diff=4592&amp;amp;oldid=4567&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>Patarakin</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80&amp;diff=4567&amp;oldid=prev</id>
		<title>Patarakin: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80&amp;diff=4567&amp;oldid=prev"/>
		<updated>2022-10-19T07:30:53Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 10:30, 19 октября 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Patarakin</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80&amp;diff=4566&amp;oldid=prev</id>
		<title>ru_wikipedia&gt;InternetArchiveBot: Спасено источников — 2, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.8.8</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80&amp;diff=4566&amp;oldid=prev"/>
		<updated>2022-07-26T19:45:52Z</updated>

		<summary type="html">&lt;p&gt;Спасено источников — 2, отмечено мёртвыми — 0. &lt;a href=&quot;/index.php?title=En:User_talk:InternetArchiveBot&amp;amp;action=formedit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;En:User talk:InternetArchiveBot (страница не существует)&quot;&gt;Сообщить об ошибке&lt;/a&gt;. См. &lt;a href=&quot;/index.php?title=M:InternetArchiveBot/FAQ/ru&amp;amp;action=formedit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;M:InternetArchiveBot/FAQ/ru (страница не существует)&quot;&gt;FAQ&lt;/a&gt;.) #IABot (v2.0.8.8&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Стандартная библиотека C++}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Последовательными контейнерами&amp;#039;&amp;#039;&amp;#039; ({{lang-en|Sequence containers}}) в языке программирования [[C++]] считаются несколько предопределённых [[шаблоны C++|шаблонных]] [[тип данных|типов данных]] [[Стандартная библиотека языка C++|стандартной библиотеки]] &amp;#039;&amp;#039;STL&amp;#039;&amp;#039;, которые обеспечивают упорядоченный способ хранения своих элементов. Каждый из элементов такого контейнера имеет определённую позицию, которая зависит от времени и места помещения его в контейнер, но не зависит от значения элемента. Как правило, к последовательным контейнерам относятся списки, вектора, очереди двустороннего доступа, массивы (начиная со стандарта [[C++11]]) и ряд других. Обычно их реализуют на практике в виде связанного списка или массива{{sfn|Josuttis|2012|loc=Containers|p=167—168}}{{sfn|Литвиненко|2005|loc=Стандартная библиотека шаблонов STL|с=137}}.&lt;br /&gt;
&lt;br /&gt;
== Описание ==&lt;br /&gt;
Все основные стандартные классы-контейнеры библиотеки &amp;#039;&amp;#039;STL&amp;#039;&amp;#039; подразделяются на последовательные и [[ассоциативный контейнер|ассоциативные контейнеры]]. Ключевое отличие последовательных контейнеров от ассоциативных заключается в том, что при помещении элемента в последовательный контейнер он остаётся там, где его разместили, а в ассоциативном он перемещается туда, где ему положено находиться в соответствии со внутренним устройством контейнера{{sfn|Meyers|2001|loc = Containers|p=16}}.&lt;br /&gt;
&lt;br /&gt;
Традиционно в категорию стандартных последовательных контейнеров входят массивы &amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;, списки (как односвязные &amp;lt;code&amp;gt;forward_list&amp;lt;/code&amp;gt;, так и двусвязные &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt;), динамические вектора &amp;lt;code&amp;gt;[[vector (C++)|vector]]&amp;lt;/code&amp;gt; и очереди &amp;lt;code&amp;gt;deque&amp;lt;/code&amp;gt;{{sfn|Josuttis| 2012|loc=Sequence containers|p=169}}&amp;lt;ref&amp;gt;[http://www.cplusplus.com/reference/stl/ Containers] {{Wayback|url=http://www.cplusplus.com/reference/stl/ |date=20200114100116 }} www.cplusplus.com&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://www.geeksforgeeks.org/containers-cpp-stl/ Containers in C++ STL] {{Wayback|url=https://www.geeksforgeeks.org/containers-cpp-stl/ |date=20200112213345 }} www.geeksforgeeks.org&amp;lt;/ref&amp;gt;. Иногда в их состав также включают строки &amp;lt;code&amp;gt;[[string (C++)|string]]&amp;lt;/code&amp;gt;, а к нестандартным последовательным контейнерам относят списки &amp;lt;code&amp;gt;slist&amp;lt;/code&amp;gt; и строковые данные &amp;lt;code&amp;gt;rope&amp;lt;/code&amp;gt;{{sfn|Meyers|2001|loc = Containers|p=11}}.&lt;br /&gt;
&lt;br /&gt;
== Требования к элементам ==&lt;br /&gt;
Основная технологическая оснастка библиотеки &amp;#039;&amp;#039;STL&amp;#039;&amp;#039; (контейнеры, итераторы, алгоритмы) реализована в виде шаблонных классов. Как следствие, эта инфраструктура может одинаково эффективно обрабатывать как встроенные, так и пользовательские типы данных. Тем не менее, все элементы всех контейнеров библиотеки &amp;#039;&amp;#039;STL&amp;#039;&amp;#039; должны подчиняться ряду достаточно общих требований. Во-первых, они должны быть [[семантика перемещения|перемещаемыми]] и копируемыми. Во-вторых, к ним должно быть допустимо применение операции присваивания. В-третьих, для их уничтожения должен быть доступен [[деструктор]]. В дополнение к этим требованиям ряд последовательных контейнерных классов требует наличия [[конструктор по умолчанию|конструктора по умолчанию]], а в некоторых методах может потребоваться определённая операция сравнения на равенство &amp;lt;code&amp;gt;operator==()&amp;lt;/code&amp;gt; для элементов{{sfn|Josuttis|2012|loc=Requirements for Container Elements|p=244}}{{sfn|Posch, Galowicz|2018|loc = Sequence containers|p=14}}.&lt;br /&gt;
&lt;br /&gt;
== Базовый функционал ==&lt;br /&gt;
&lt;br /&gt;
С основными последовательными контейнерами связан набор стандартных операций, поддерживаемых всеми классами библиотеки &amp;#039;&amp;#039;STL&amp;#039;&amp;#039; для унифицированного доступа к своим элементам{{sfn|Шлее|2015 |loc=Последовательные контейнеры|с=96}}.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Название !! Функции&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; || Объединение элементов&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+=&amp;lt;/code&amp;gt; || Добавление элементов в контейнер&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;lt;&amp;lt;&amp;lt;/code&amp;gt; || Добавление элемента в контейнер&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;at()&amp;lt;/code&amp;gt; || Доступ к произвольному элементу&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;front()&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;first()&amp;lt;/code&amp;gt; || Предоставляют ссылку на первый элемент в предположении, что он существует. Использование метода &amp;lt;code&amp;gt;front()&amp;lt;/code&amp;gt; предпочтительнее по стандарту &amp;#039;&amp;#039;STL&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;back()&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;last()&amp;lt;/code&amp;gt; || Предоставляют ссылку на последний элемент в предположении, что он существует. Использование метода &amp;lt;code&amp;gt;back()&amp;lt;/code&amp;gt; предпочтительнее по стандарту &amp;#039;&amp;#039;STL&amp;#039;&amp;#039;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;contains()&amp;lt;/code&amp;gt; || Проверка контейнера на наличие переданного элемента&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;erase()&amp;lt;/code&amp;gt; || Удаляет элемент, на который указывает параметр-итератор&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;IndexOf()&amp;lt;/code&amp;gt; || Возвращает индекс первого элемента, который соответствует значению переданного параметра.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pop_front()&amp;lt;/code&amp;gt; || Удаляет из контейнера первый элемент&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pop_back()&amp;lt;/code&amp;gt; || Удаляет из контейнера последний элемент&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;replace()&amp;lt;/code&amp;gt; || Заменяет значение элемент контейнера на значение своего параметра&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;push_front()&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;prepend()&amp;lt;/code&amp;gt; || Добавляют элемент в начало контейнера. Использование метода &amp;lt;code&amp;gt;push_front()&amp;lt;/code&amp;gt; предпочтительнее по стандарту &amp;#039;&amp;#039;STL&amp;#039;&amp;#039;.  &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;push_back()&amp;lt;/code&amp;gt; и &amp;lt;code&amp;gt;append()&amp;lt;/code&amp;gt; || Добавляют элемент в конец контейнера. Использование метода &amp;lt;code&amp;gt;push_back()&amp;lt;/code&amp;gt; предпочтительнее по стандарту &amp;#039;&amp;#039;STL&amp;#039;&amp;#039;. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
В дополнение к ним важной операцией считается функция &amp;lt;code&amp;gt;resize()&amp;lt;/code&amp;gt;, которая позволяет динамически варьировать количество элементов в коллекции за линейное время. Её поддерживают все классы, за исключением массива &amp;lt;code&amp;gt;array&amp;lt;/code&amp;gt;, который идеологически не предназначен для изменений своего размера в памяти{{sfn|Josuttis|2012|loc=Containers|p=176}}. &lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
* {{публикация|книга |автор= Литвиненко&lt;br /&gt;
|автор имя= Н. А. &lt;br /&gt;
|автор линк= &lt;br /&gt;
|автор2= &lt;br /&gt;
|автор2 имя= &lt;br /&gt;
|автор2 линк= &lt;br /&gt;
|заглавие= Технология программирования на С++&lt;br /&gt;
|подзаголовок= Начальный курс &lt;br /&gt;
|ссылка= &lt;br /&gt;
|архив= &lt;br /&gt;
|архив дата= &lt;br /&gt;
|ответственный= &lt;br /&gt;
|издание= &lt;br /&gt;
|место= {{СПб.}}&lt;br /&gt;
|издательство= «БХВ-Петербург»&lt;br /&gt;
|год= 2005&lt;br /&gt;
|страницы= &lt;br /&gt;
|страниц= 288&lt;br /&gt;
|удк= 681.3.068Ь800.92С++(075.8)&lt;br /&gt;
|ббк= 32.973.26-018.1я73&lt;br /&gt;
|isbn= 5-94157-655-2&lt;br /&gt;
|ref= Литвиненко&lt;br /&gt;
}}&lt;br /&gt;
* {{публикация|книга |автор= Шлее&lt;br /&gt;
|автор имя= М. &lt;br /&gt;
|автор линк= &lt;br /&gt;
|автор2= &lt;br /&gt;
|автор2 имя= &lt;br /&gt;
|автор2 линк= &lt;br /&gt;
|заглавие= Qt 5.3&lt;br /&gt;
|подзаголовок= Профессиональное программирование на С++&lt;br /&gt;
|ссылка= &lt;br /&gt;
|архив= &lt;br /&gt;
|архив дата= &lt;br /&gt;
|ответственный= &lt;br /&gt;
|издание= &lt;br /&gt;
|место= {{СПб.}}&lt;br /&gt;
|издательство= «БХВ-Петербург»&lt;br /&gt;
|год= 2015&lt;br /&gt;
|страницы= &lt;br /&gt;
|страниц= 928&lt;br /&gt;
|удк= 004.438С++&lt;br /&gt;
|ббк= 32.973.26-018.1&lt;br /&gt;
|isbn= 978-5-9775-3346-1&lt;br /&gt;
|ref= Шлее&lt;br /&gt;
}}&lt;br /&gt;
* {{публикация|книга |язык= en &lt;br /&gt;
|автор= Josuttis&lt;br /&gt;
|автор имя= N. M.&lt;br /&gt;
|автор линк= &lt;br /&gt;
|автор2= &lt;br /&gt;
|автор2 имя= &lt;br /&gt;
|автор2 линк= &lt;br /&gt;
|заглавие= The C++ Standard Library&lt;br /&gt;
|подзаголовок= A Tutorial and Reference&lt;br /&gt;
|ссылка= &lt;br /&gt;
|архив= &lt;br /&gt;
|архив дата= &lt;br /&gt;
|ответственный= &lt;br /&gt;
|издание= 2nd&lt;br /&gt;
|место= &lt;br /&gt;
|издательство= Addison-Wesley&lt;br /&gt;
|год= 2012&lt;br /&gt;
|pages= &lt;br /&gt;
|allpages= &lt;br /&gt;
|isbn= 978-0-321-62321-8&lt;br /&gt;
|oclc= &lt;br /&gt;
|ref= Josuttis&lt;br /&gt;
}}&lt;br /&gt;
* {{публикация|книга |язык= en &lt;br /&gt;
|автор= Meyers&lt;br /&gt;
|автор имя= S.&lt;br /&gt;
|автор линк= &lt;br /&gt;
|автор2= &lt;br /&gt;
|автор2 имя= &lt;br /&gt;
|автор2 линк= &lt;br /&gt;
|заглавие= Effective STL&lt;br /&gt;
|подзаголовок= 50 Specific Ways to Improve Your Use of the  Standard Template Library&lt;br /&gt;
|ссылка= &lt;br /&gt;
|архив= &lt;br /&gt;
|архив дата= &lt;br /&gt;
|ответственный= &lt;br /&gt;
|издание= 2nd&lt;br /&gt;
|место= &lt;br /&gt;
|издательство= Addison-Wesley&lt;br /&gt;
|год= 2001&lt;br /&gt;
|pages= &lt;br /&gt;
|allpages= &lt;br /&gt;
|isbn= 0-201-74962-9&lt;br /&gt;
|oclc= &lt;br /&gt;
|ref= Meyers&lt;br /&gt;
}}&lt;br /&gt;
* {{публикация|книга |язык= en &lt;br /&gt;
|автор= Posch&lt;br /&gt;
|автор имя= M.&lt;br /&gt;
|автор линк= &lt;br /&gt;
|автор2= Galowicz&lt;br /&gt;
|автор2 имя= J.&lt;br /&gt;
|автор2 линк= &lt;br /&gt;
|заглавие= Expert C++ Programming&lt;br /&gt;
|подзаголовок= Leveraging the power of modern C++ to build scalable modular applications&lt;br /&gt;
|ссылка= &lt;br /&gt;
|архив= &lt;br /&gt;
|архив дата= &lt;br /&gt;
|ответственный= &lt;br /&gt;
|издание= 2nd&lt;br /&gt;
|место= &lt;br /&gt;
|издательство= Packt Publishing&lt;br /&gt;
|год= 2018&lt;br /&gt;
|pages= &lt;br /&gt;
|allpages= &lt;br /&gt;
|isbn= 978-1-78883-139-0&lt;br /&gt;
|oclc= &lt;br /&gt;
|ref= Posch, Galowicz&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Библиотеки C++]]&lt;br /&gt;
[[Категория:Структуры данных]]&lt;/div&gt;</summary>
		<author><name>ru_wikipedia&gt;InternetArchiveBot</name></author>
	</entry>
</feed>