Очень краткое описание контейнеров STL Vector и List (1115020)
Текст из файла
Очень краткое описание контейнеров STL Vector и List (4 семестр)
w!!Контейнер вектор!!
-
vector — имя контейнера,
-
T — тип элементов контейнера (value_type),
-
A — распределитель памяти (allocator_type) — необязательный параметр.
template < class T , class A = allocator < T > > сlass vector {
// ...
public:
Доступ к элементам
reference operator [] (size_type n); // доступ без проверки диапазона
const_reference operator [] (size_type n) const;
reference at (size_type n); // доступ с проверкой диапазона (если индекс
// выходит за пределы диапазона, возбуждается исключение out_of_range)
const_reference at (size_type n) const;
reference front (); // первый элемент вектора
const_reference front () const;
reference back (); // последний элемент вектора
const_reference back () const;
Конструкторы, которые могут вызываться с одним параметром, во избежание случайного преобразования объявлены explicit, что означает, что конструктор может вызываться только явно (vector<int> v = 10 — ошибка, попытка неявного преобразования 10 в vector<int>).
explicit vector (const A&=A()); // создается вектор нулевой длины
explicit vector (size_type n; const T& value = T(); const A& = A());
Cоздается вектор из n элементов со значением value (или с «нулями» типа T, если второй параметр отсутствует; в этом случае конструктор умолчания в классе T обязателен).
// инициализация вектора копированием элементов из [first, last), I - итератор для чтения
template <class I> vector (I first, I last, const A& = A());
vector (const vector < T, A > & obj ); // конструктор копирования
vector& operator = (const vector < T, A > & obj );
~vector ();
Некоторые функции-члены класса vector.
iterator erase ( iterator i ); // удаляет элемент, на который указывает данный
// итератор. Возвращает итератор элемента, следующего за удаленным.
iterator erase ( iterator st, iterator fin ); // удалению подлежат все элементы
// между st и fin, но fin не удаляется. Возвращает fin.
Iterator insert ( iterator i , const Т& value = T()); // вставка некоторого
// значения value перед i. Возвращает итератор вставленного элемента).
void insert (iterator i , size_type n, const T&value); // вставка n копий
// элементов со значением value перед i.
void push_back ( const T&value ) ; // добавляет элемент в конец вектора
void pop_back () ; // удаляет последний элемент (не возвращает значение!)
size_type size() const; // выдает количество элементов вектора
bool empty () const; // возвращает истину, если вызывающий вектор пуст
void clear(); // удаляет все элементы вектора
//...
}
Пример
Печать элементов вектора в прямом порядке.
#include < vector >;
using namespace std;
int main () {
vector < int > V ( 100,5 );
vector < int > :: const_iterator p = V.begin ();
while (p != V.end ()) {
cout << *p << ' ';
++p;
}
cout << endl;
}
Или в обратном порядке.
vector < int > :: const_reverse_iterator q = V.rbegin ( );
while ( q != V.rend ()) {
cout << *q << ' '; // печать в обратном порядке
++q;
}
cout << endl;
Контейнер список
-
list — имя контейнера,
-
T — тип элементов, которые будут храниться в списке,
-
A — распределитель памяти.
template < class T , class A = allocator < T > > сlass list {
// ...
public:
Доступ к элементам.
reference front (); // первый элемент списка
const_reference front () const;
reference back (); // последний элемент списка
const_reference back () const;
Конструкторы и т.п.
explicit list (const A&=A()); //создается список нулевой длины
explicit list (size_type n; const T& value = T(); const A& = A());
Cоздается список из n элементов со значением value (или с «нулями» типа T, если второй параметр отсутствует.
// инициализация списка копированием элементов из [first, last), I --- итератор для чтения
template <class I> list (I first, I last, const A& = A());
list (const list < T, A > & obj ); // конструктор копирования
list& operator = (const list < T, A > & obj );
~list ();
// ... ...
Некоторые функции-члены класса list.
iterator erase ( iterator i ); // удаляет элемент, на который указывает данный
// итератор. Возвращает итератор элемента, следующего за удаленным.
iterator erase ( iterator st, iterator fin ); // удалению подлежат все элементы
// между st и fin, но fin не удаляется. Возвращает fin.
Iterator insert ( iterator i, const Т& value = T() ); // вставка некоторого
// значения value перед i. Возвращает итератор вставленного элемента).
void insert ( iterator i, size_type n, const T&value ); // вставка n копий
// элементов со значением value перед i.
void push_back ( const T&value ) ; // добавляет элемент в конец списка
void push_front ( const T&value ) ; // добавляет элемент в начало списка
void pop_back () ; // удаляет последний элемент (не возвращает значение!)
void pop_front () ; // удаляет первый элемент списка
size_type size() const; // выдает количество элементов списка
bool empty () const; // возвращает истину, если вызывающий список пуст
void clear(); // удаляет все элементы списка
//...
}
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.