Анимация
JavaScript
|
Главная Библионтека О Поддерживается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками. нонтейнер: -.контейнер (Inputlterator beg. Inputlterator end. const CompFunc& op) О Создает контейнер с критерием сортировки ор, инициализируемый всеми элементами интервала [beg.end). О Конструктор оформлен в виде шаблонной функции класса (см. с. 28). Это означает, что элементы исходного интервала могут относиться к произвольному тину, который может быть преобразован к типу элементов контейнера. О Критерий сортировки должен определять «строгую квазиупорядоченность» (см. с- 184). О Поддерживается множествами, мультимножествами, отображениями, мультиотображениями. нонтейнер:-.-нонтейнер С) О Деструктор. О Удаляет все элементы и освобождает память. О Вызывает деструктор для каждого элемента. О Поддерживается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками. Немодифицирующие операции Операции, связанные с размером s1ze type нонтейнер: :S\ze С) const О Возвращает текущее количество элементов. О Для проверки отсутствия элементов в KOHTciiHCpe используйте функцию emptyO, потому что она может работать быстрее. О Поддерживается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками. bool контейнер::empty С) const О Проверяет отсутствие элементов в контейнере. О Эквивалент следующей команде, но может работать быстрее (особенно со списками): нонтейнер: :s1ze()==0 О Поддерживается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками. s1ze type KOwrefrtep: :[nax s1ze С) const О Возвращает максимальное количество элементов, которые могут храниться в контейнере. О Возвращаемое значение зависит от модели памяти контейнера. Поскольку векторы обычно используют только один блок памяти, у них это значение может быть меньнте, чем у других контейнеров. О Поддерживается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками. Операции, связанные с емкостью size type нонтейнер: :capacity С) const О Возвращает количество элементов, которые могут храниться в контейнере без перераспределения памяти. О Поддерживается векторами и строками. void rawrewwep::reserve(s1ze type пиш) О Резервирует внутреннюю память минимум для тт элементов. О Если пит меньше текущей емкости контейнера, для векторов вызов игнорируется, а для строк является необязательным запросом на сокращение объема памяти. О Методика уменьшения емкости векторов продемонстрирована в примере на с. 158. О Каждое перераспределение памяти требует времени, а все ссылки, указатели и итераторы становятся недействительными. Функция reserve() может ускорить работу программы и сохранить действительными ссылки, указатели и итераторы (см, с. 158). О Поддерживается векторами и строками. Операции сравнения bool сравнение (const контейнер?* с1. const контейнера. с2) О Возврапгает результат сравнения двух контейнеров одного типа. О Здесь cpaeneiiue - одна из следующих операций; operator == operator != operator < operator > operator <= operator >= О Два контейнера считаются равными, если они содержат одинаковое количество элементов, если элементы попарно совпадают и следуют в одинаковом порядке (то есть результат проверки на равенство двух элементов в одинаковых П03И1Ц.1ЯХ всегда равен true). О Отношение «меньше/больше» между контейнерами проверяется по лексикографическому критерию (см. с. 356). Лексикографический критерий рассматривается при описании алгоритма lexicographical compare() на с. 356. О Поддерживается векторами, деками, списками, множествами, мультимножествами, отображениями, мультиотображениями, строками. Специальные операции над ассоциативными контейнерами Функции, перечисленные ниже, представляют собой специализированные реализации соответствующих алгоритмов STL, описанных на с. 336 и 388. Они превосходят унифицированные алгоритмы по скорости, поскольку в них учитывается тот факт, что элементы ассоциативных контейнеров автоматически сортируются. На практике эти функции обеспечивают логарифмическую сложность вместо линейной. Например, при поиске в контейнере, содержащем 1000 элементов, в среднем требуется не более 10 сравнений (см. с. 37). s1ze type нонтейнер::count (const Т& value) const О Возвращает количество элементов со значением, равным value. О Специализированная версия алгоритма count(), описанного на с. 337. ОТ- тип сортируемых данных: □ для множеств и мультимножеств - тип элемента; □ для отображений и мультиотображений - тип ключа. О Сложность линейная. О Поддерживается множествами, мультимножествами, отображениями, мультиотображениями. Iterator нонтейнер:-.fiuu (const Т& value) const 1terator контейнер: :f]n6 (const T& value) const О Обе версии возвращают позицию первого элемента со значением, равным voltw. О Если элемент не найден, возвращается end(). О Специализированные версии алгоритма find(), описанного на с. 340. ОТ - тип сортируемых данных: □ для множеств и мультимножеств - тип элемента; □ для отображений и мультиотображений - тип ключа. О Сложность логарифмическая. О Поддерживаются множествами, мультимножествами, отображениями, мультиотображениями. iterator гангейнер::lower bound (const Т& value) const 1terator нонтейнер: :lov]er bour\6 (const Т& value) const О Обе версии возвращают первую позицию, в которой была бы вставлена копия value в соответствии с критерием сортировки. О Возвращаемое значение представляет позипию первого элемента со зиачеии-см, равным или большим value (или end()). 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 [ 73 ] 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 |