Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
1

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

04.04.2013, 17:16. Просмотров 4705. Ответов 6
Метки нет (Все метки)


читаю читаю но ответа в книге зачем нужны вектора так и не могу найти!!! пожалуйста напишите пример!! что бы я понял! спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2013, 17:16
Ответы с готовыми решениями:

Что такое static const и для чего он нужен?
Что такое static const ? И для чего он нужен ?

Что такое полис и конечные автоматы и для чего используются в с++?
ОЧЕНЬ ХОЧУ ЗНАТЬ. ПОМОГИТЕ!!!!!!!!!

Что за векторы и зачем они нужны
Читал книгу по программированию на С++ и дошел до раздела векторы. Вот хотел у вас спросить за чем...

Объясните человеческим языком мне чайнику что такое singleton, статический класс. Зачем они нужны. Что рекомендуете прочитать мне для начала
Объясните человеческим языком мне чайнику что такое singleton, статический класс. Зачем они нужны....

6
89 / 89 / 17
Регистрация: 26.10.2012
Сообщений: 249
04.04.2013, 17:28 2
Векторы - это реализация динамического массива в C++, т.е. такого массива, чья длина меняется в ходе программы. Называется вектор, потому что добавлять и удалять элементы можно только с одного конца.
0
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
04.04.2013, 18:25  [ТС] 3
Цитата Сообщение от fjay69 Посмотреть сообщение
Векторы - это реализация динамического массива в C++, т.е. такого массива, чья длина меняется в ходе программы. Называется вектор, потому что добавлять и удалять элементы можно только с одного конца.
Пример можешь написать? Пожалуйста

Добавлено через 51 минуту
жду ответа
0
В астрале
Эксперт С++
8030 / 4787 / 655
Регистрация: 24.06.2010
Сообщений: 10,558
04.04.2013, 18:32 4
fjay69, wat? Вы хоть посмотрели бы на функции вектора, прежде чем такое говорить http://en.cppreference.com/w/cpp/container/vector
C++
1
vec.insert(vec.begin(), value);
1
89 / 89 / 17
Регистрация: 26.10.2012
Сообщений: 249
04.04.2013, 20:21 5
Цитата Сообщение от ForEveR Посмотреть сообщение
fjay69, wat? Вы хоть посмотрели бы на функции вектора, прежде чем такое говорить
Сорри, затупил. Вектор в том плане, что у каждого его элемента только односторонняя связь.
Как сказали бы некоторые: у вас баттхёрт
0
Заблокирован
Автор 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;
}
2
Миниатюры
Что такое векторы, и для чего нужны?  
Заблокирован
Автор 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)

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2013, 20:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Что такое compile-time алгоритмы и для чего они нужны?
А есть от них хоть какая-то практическая польза? По-моему нет

Нюансы синтаксиса: объяснить что происходит в заданных строках кода и для чего нужны указанные конструкции
Наткнулся на урок по C++ в интернете, где был пример с перебором &quot;телефонной книги&quot;. Вот кусок...

Культура оформления кода: что такое enum? Где, когда и для чего уместно применять этот тип?
не понял за что отвечают эти две строчки: enum ChosenOperation { ADD = 1, SHOW, SEARCH, EXIT };...

Что такое hash-таблицы, и зачем они нужны?
Обьясните пожалуста по простому что такое хеш таблици и зачем они надо... пытался разобратся с ними...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.