46291

Вектор в c++

Доклад

Информатика, кибернетика и программирование

Кроме массивов в c++ существуют еще контейнеры, которые позволяют вам немного по другому хранить данные и, вдобавок, применять к ним различные функции (поиск, сортировка и т.д.) . Сегодня вы узнаете об одном из контейнеров - векторе (vector)

Русский

2013-11-27

11.81 KB

7 чел.

Вопрос 6. Вектор.

Кроме массивов в c++ существуют еще контейнеры, которые позволяют вам немного по другому хранить данные и, вдобавок, применять к ним различные функции (поиск, сортировка и т.д.) . Сегодня вы узнаете об одном из  контейнеров - векторе (vector)

Вектор - динамический массив с возможностью добавления/удаления элементов.

Возможно вы уже сталкивались с такой проблемой, что массивы в с++ имеют ограниченный размер, а мы точно не знаем количество элементов, необходимое в массиве. В таких случаях необходимо использовать динамическое программирование. Т.е. выделять память под элементы массива при необходимости добавить какой-либо элемент. В принципе, в с++ это можно реализовать вручную, но зачем? если есть специальный класс - vector. Он позволяет создавать нам массивы переменной длинны в зависимости от ситуации.

Решение – выделить память нужного размера и скопировать старые данные.

void Add(float value)

{

size++;

float* tmp = new float[size];

if(data != 0)

{

for(int i = 0; i < size - 1; i++)

tmp[i] = data[i];

delete data;

}

tmp[size - 1] = value;

data = tmp;

}

void main()

{

wcout.imbue(locale("russian_Russia.866"));

wcin.imbue(locale("russian_Russia.866"));

Vector v;

v.Print();

v.Add(0);

v.Add(1);

v.Add(2);

v.Print();

v.Remove();

v.Print();

_getch();

}


 

А также другие работы, которые могут Вас заинтересовать

21818. Оценка вариантов решения. Выбор 92 KB
  Выбор как реализация цели В предыдущей лекции были рассмотрены два этапа задачи разработки программы системы. Таким образом важную роль здесь играет измерение переменных системы. Кратко можно перечислить следующие операции выполняемые на этапе оценки вариантов решения: определение меры для каждого показателя системы; объединение всех показателей в единое представление или функцию по которым можно выбрать наиболее желательное решение так называемую целевую функцию. Целевой функцией называется скалярное описание системы которое...
21819. Условная оптимизация 169 KB
  Пример постановки задачи оптимизации Линейное программирование ЛП Постановка задачи линейного программирования Основные определения и теоремы Переход от одной формы задачи ЛП к другой 3. Пример постановки задачи оптимизации Для изготовления 3х видов изделий А В и С используется токарное фрезерное сварочное и шлифовальное оборудование. Составить математическую модель задачи. Постановка задачи линейного программирования Найти оптимум наибольшее или наименьшее значение целевой функции линейной формы на области допустимых значений...
21820. Нелинейное программирование (НП) 131 KB
  нелинейное программирование НП Постановка задачи НП Экологоэкономическая интерпретация задачи НП Геометрическая интерпретация задачи НП Метод множителей Лагранжа ММЛ Обзор рассмотренных методов. Постановка задачи НП В общем виде задача НП состоит в определении max min значения f x1 x2 xn 1 при условии что ее переменные удовлетворяют соотношениям gix1 x2 xn  bi i = 1 k gix1 x2 xn = bi i = k 1 m где f и gi некоторые известные функции n переменных а bi заданные числа. Имеется в виду что в...
21821. ВЫБОР АЛЬТЕРНАТИВ В МНОГОКРИТЕРИАЛЬНЫХ ЗАДАЧАХ 234 KB
  Выбор в условиях нескольких критериев. Например выбор конструкции самолета предполагает учет многих критериев технических высота скорость маневренность грузоподъемность безопасности полетов технологических экологических экономических эргономических. Итак пусть для оценивания альтернатив используется несколько критериев qix i= 123. Теоретически можно представить себе случай когда во множестве Х окажется одна альтернатива обладающая наибольшими значениями р всех критериев; она и является наилучшей.
21822. Возведение зданий системы «КУБ» 55 KB
  Каркас универсальный безбалочный КУБ представляет собой систему многоярусных колонн установленных в фундаменты стаканного типа и объединённых с помощью разрезных бескапительных плит перекрытия. Система КУБ используется для возведения жилых и промышленных зданий высотой до 16 этажей сейсмостойкость 9 баллов сетка колонн 69м высота этажа 2833м. Расчётная схема системы КУБ представляет собой связевый каркас в котором вертикальные нагрузки перекрытий передаются на колонны воспринимающие продольные силы с изгибом в одном или...
21823. Возведение железобетонных монолитных зданий 70 KB
  Вместе с тем монолитное домостроение имеет особенности сдерживающее его более широкое применение: увеличенная трудоёмкость некоторых процессов опалубочные арматурные работы уплотнение бетонной смеси и др.; необходимость тщательного выполнения технологических регламентов производства работ и контроля их качества; относительно сложные технологические процессы что диктует повышенную требовательность к квалификации работников. Дальнейшее развитие монолитного строительства базируется на совершенствовании технологий опалубочных арматурных...
21824. Применение различных опалубок в монолитном домостроении 139 KB
  Щитовые опалубки Щитовые опалубки наиболее широко применяются в жилищном гражданском и промышленном строительстве. Для повышения производительности труда щиты опалубки можно предварительно собирать в крупноразмерные плоские опалубочные панели или в пространственные блоки которые устанавливаются и демонтируются с помощью кранов. Мелкощитовые опалубки отличаются высокой универсальностью их можно использовать для возведения самых различных конструкций фундаментов колонн стен балок перекрытий. Существенным недостатком мелкощитовых...
21826. Возведение зданий методом подъёма перекрытий 136 KB
  Этот метод очень эффективен в сейсмических районах благодаря применению цельных неразрезных плит перекрытий выполняющих роль горизонтальных диафрагм обеспечивающих поперечную жёсткость здания а также при необходимости строительства в стеснённых условиях исключающих применение кранов. 5 а 2 3 б 1 2 в 4 г ...