Форум программистов, компьютерный форум CyberForum.ru

Что такое векторы, и для чего нужны? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
DarkJoker1992
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 271
04.04.2013, 17:16     Что такое векторы, и для чего нужны? #1
читаю читаю но ответа в книге зачем нужны вектора так и не могу найти!!! пожалуйста напишите пример!! что бы я понял! спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fjay69
 Аватар для fjay69
85 / 85 / 1
Регистрация: 26.10.2012
Сообщений: 248
04.04.2013, 17:28     Что такое векторы, и для чего нужны? #2
Векторы - это реализация динамического массива в C++, т.е. такого массива, чья длина меняется в ходе программы. Называется вектор, потому что добавлять и удалять элементы можно только с одного конца.
DarkJoker1992
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 271
04.04.2013, 18:25  [ТС]     Что такое векторы, и для чего нужны? #3
Цитата Сообщение от fjay69 Посмотреть сообщение
Векторы - это реализация динамического массива в C++, т.е. такого массива, чья длина меняется в ходе программы. Называется вектор, потому что добавлять и удалять элементы можно только с одного конца.
Пример можешь написать? Пожалуйста

Добавлено через 51 минуту
жду ответа
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7933 / 4715 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
04.04.2013, 18:32     Что такое векторы, и для чего нужны? #4
fjay69, wat? Вы хоть посмотрели бы на функции вектора, прежде чем такое говорить http://en.cppreference.com/w/cpp/container/vector
C++
1
vec.insert(vec.begin(), value);
fjay69
 Аватар для fjay69
85 / 85 / 1
Регистрация: 26.10.2012
Сообщений: 248
04.04.2013, 20:21     Что такое векторы, и для чего нужны? #5
Цитата Сообщение от ForEveR Посмотреть сообщение
fjay69, wat? Вы хоть посмотрели бы на функции вектора, прежде чем такое говорить
Сорри, затупил. Вектор в том плане, что у каждого его элемента только односторонняя связь.
Как сказали бы некоторые: у вас баттхёрт
-=ЮрА=-
Заблокирован
Автор FAQ
04.04.2013, 20:36     Что такое векторы, и для чего нужны? #6
DarkJoker1992, веткторы понятие ёмкое, думаю ты имеешь ввиду STL контейнер std::vector. Думаю сразу бросилось в глаза словой контейнер, простыми словами это храниелище данных (тот же массив), причём преимущество вектора в том что можно сделать массив абсолютно любых типов данных (и даже тех которых нет в стандартной библиотеке). При этом алгоритмы обращения к элементам вектора для абсолютно либых типов данных будут одинаковы. Второй вкусностью векторов является тот факт что на их базе очень легко организовывать динамические массивы (программисту не надо думать как выделить или уменьшить память под хранимые элементы - за нас уже позаботились и при добавлении push_back вектор сам увеличит свой размер на 1 элемент, ровно как при удалении одного элемента pop_back Вектор сам сожмётся на 1 элемент)
Вот простой код для понимания вектора
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <ctime>
#include <vector>
#include <iostream>
using namespace std;
 
int main()
{
    int i, n;
    vector<int> array;
    srand(time(0));//Установили нач значение гнератора случайных чисел
    cout<<"Enter num elements : ";
    cin>>n;cin.get();
    for(i = 0; i < n; i++)
        array.push_back(rand() % 100 - 50);//добавлеяем в вектор чила от -50 до 50
    cout<<"Rand array : "<<endl;
    for(i = 0; i < array.size(); i++)
        cout<<array[i]<<" ";
    cout<<endl;
    cin.get();
    return 0;
}
Миниатюры
Что такое векторы, и для чего нужны?  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.04.2013, 20:46     Что такое векторы, и для чего нужны?
Еще ссылки по теме:

Битовые поля структур: что такое и зачем они нужны? C++
Для чего нужны интерфейсы? C++
Объяснить от чего зависит размер указателя и что такое арифметика указателей C++
C++ Для чего нужны файлы с расширением .h, .c?
Культура оформления кода: что такое enum? Где, когда и для чего уместно применять этот тип? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
04.04.2013, 20:46     Что такое векторы, и для чего нужны? #7
DarkJoker1992, обращу твоё внимание что вектор предусматривает простую индексацию
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
cout<<array[i]<<" ";
, т.е к его элементам можно обращаться так же как и к элементу массива. У векторов есть и другой способ доступа к элементам - итератор, вот скажем как здесь
Цитата Сообщение от ForEveR Посмотреть сообщение
vec.begin()
- правда здесь итератор служит для реализации метода insert, но итератор можно юзать и для прямого обращения к элементам вектора, поясняю чуть изменённым кодом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <ctime>
#include <vector>
#include <iostream>
using namespace std;
 
int main()
{
    int i, n;
    vector<int> array;
    vector<int>::iterator it;
    srand(time(0));//Установили нач значение гнератора случайных чисел
    cout<<"Enter num elements : ";
    cin>>n;cin.get();
    for(i = 0; i < n; i++)
        array.push_back(rand() % 100 - 50);//добавлеяем в вектор чила от -50 до 50
    cout<<"Rand array : "<<endl;
    for(it = array.begin(); it < array.end(); it++)
        cout<<(*it)<<" ";
    cout<<endl;
    cin.get();
    return 0;
}
Отработка будет аналогична отработке в посте 6-ть

Добавлено через 3 минуты

Не по теме:

В заключение пара ссылок
http://www.cplusplus.com/reference/vector/vector/
http://ru.wikipedia.org/wiki/Vector_(C%2B%2B)



Добавлено через 10 секунд

Не по теме:

В заключение пара ссылок
http://www.cplusplus.com/reference/vector/vector/
http://ru.wikipedia.org/wiki/Vector_(C%2B%2B)

Yandex
Объявления
04.04.2013, 20:46     Что такое векторы, и для чего нужны?
Ответ Создать тему
Опции темы

Текущее время: 11:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru