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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kiberg_boy
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 7
#1

Реализовать приложение, содержащее функции добавления нового элемента в массив и удаления элемента из массива. (Имитируется “резиновый” массив) - C++

02.03.2013, 01:17. Просмотров 651. Ответов 9
Метки нет (Все метки)

Реализовать приложение, содержащее функции добавления нового элемента в массив и удаления элемента из массива. (Имитируется “резиновый” массив)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2013, 01:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализовать приложение, содержащее функции добавления нового элемента в массив и удаления элемента из массива. (Имитируется “резиновый” массив) (C++):

Ошибка при вызове функции добавления нового элемента в массив - C++
Описывается класс Datchik. Затем в классе Lists объявляется массив объектов класса датчик и описывается функция NewDatchik добавления...

Написать функции добавления и удаления произвольного элемента динамического массива - C++
Несмотря на вроде бы распространенность задачи нигде не могу найти простое и универсальное решение, без векторов в дополнительных функций....

Сделать добавление элемента в массив и удаление элемента из массива используя STL - C++
Всем привет. Помогите пожалуйста написать. Нужно использовать STL. Необходимо сделать добавление элемента в массив и удаление элемента из...

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию"Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

После каждого четного элемента массива вставить 2 элемента с тем же значением, полученный массив отсортировать - C++
после каждого четного элемента массива вставить 2 элемента с тем же значением.полученный масив отсортировать.очень хотелось бы с...

Вставка нового элемента в массив - C++
В одномерном массиве, элементы которого - целые числа, произвести следующие действия:Вставить новый элемент после всех элементов, кратных...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13219 / 7491 / 844
Регистрация: 27.09.2012
Сообщений: 18,411
Записей в блоге: 3
Завершенные тесты: 1
02.03.2013, 01:17 #2
На подобии std::vector?
0
Kiberg_boy
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 7
02.03.2013, 02:57  [ТС] #3
Цитата Сообщение от Croessmah Посмотреть сообщение
На подобии std::vector?
ага
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
02.03.2013, 03:08 #4
Ограничения есть?
Если все на std::list реализовать? Для добавления/удаления более чем хватит. А вот [] будет уже иметь линейное время работы.
0
Kiberg_boy
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 7
02.03.2013, 20:03  [ТС] #5
Цитата Сообщение от MrGluck Посмотреть сообщение
Ограничения есть?
Если все на std::list реализовать? Для добавления/удаления более чем хватит. А вот [] будет уже иметь линейное время работы.
нету

Добавлено через 8 часов 28 минут
ну поможете ктонебуть
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
02.03.2013, 22:58 #6
C++
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
#include <iostream>
#include <list>
#include <cstddef>
#include <vector>
 
template<typename T>
class MyVector
{
    public:
        MyVector() : l_(), size_(0) {}
        T* begin() noexcept { return l_.begin(); }
        const T* begin() const noexcept { return l_.begin(); }
        void clear() noexcept { l_.clear(); }
        bool empty() const noexcept { return size_ == 0; }
        T* end() noexcept { return l_.end(); }
        const T* end() const noexcept { return l_.end(); }
        void push_back(const T& data) { l_.push_back(data); size_++; }
        void pop_back() { if (size_) { l_.pop_back(); size_--; } }
        std::size_t size() const noexcept { return size_; }
 
    protected:
        std::list<T> l_;
        std::size_t size_;
};
 
int main()
{
    MyVector<int> v;
    v.pop_back();
    v.push_back(2);
    std::cout << v.size();
    v.pop_back();
    std::cout << v.size();
    v.pop_back();
    std::cout << v.size();
}
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
02.03.2013, 23:26 #7
Цитата Сообщение от MrGluck Посмотреть сообщение
Если все на std::list реализовать?
А смысл тогда это вообще делать? Учебные задания на то и учебные, чтобы самому реализовать все эти vector/list/queue/..., а не смотреть на них как на чёрные ящики
0
MrGluck
Модератор
Эксперт CЭксперт С++
7239 / 4407 / 642
Регистрация: 29.11.2010
Сообщений: 11,927
02.03.2013, 23:44 #8
Kuzia domovenok, я придерживаюсь того же мнения, более того, считаю, что через list было бы делать неверно т.к. operator[] будет обладать сложностью O(n) вместо O(1), но каков вопрос - таков ответ.
0
Kiberg_boy
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 7
05.03.2013, 02:30  [ТС] #9
Цитата Сообщение от MrGluck Посмотреть сообщение
C++
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
#include <iostream>
#include <list>
#include <cstddef>
#include <vector>
 
template<typename T>
class MyVector
{
    public:
        MyVector() : l_(), size_(0) {}
        T* begin() noexcept { return l_.begin(); }
        const T* begin() const noexcept { return l_.begin(); }
        void clear() noexcept { l_.clear(); }
        bool empty() const noexcept { return size_ == 0; }
        T* end() noexcept { return l_.end(); }
        const T* end() const noexcept { return l_.end(); }
        void push_back(const T& data) { l_.push_back(data); size_++; }
        void pop_back() { if (size_) { l_.pop_back(); size_--; } }
        std::size_t size() const noexcept { return size_; }
 
    protected:
        std::list<T> l_;
        std::size_t size_;
};
 
int main()
{
    MyVector<int> v;
    v.pop_back();
    v.push_back(2);
    std::cout << v.size();
    v.pop_back();
    std::cout << v.size();
    v.pop_back();
    std::cout << v.size();
}
а канебудь попроще
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
05.03.2013, 02:42 #10
Цитата Сообщение от MrGluck Посмотреть сообщение
Ограничения есть?
Если все на std::list реализовать? Для добавления/удаления более чем хватит. А вот [] будет уже иметь линейное время работы.
Цитата Сообщение от Kiberg_boy Посмотреть сообщение
-нету
Цитата Сообщение от Kiberg_boy Посмотреть сообщение
-а канебудь попроще
твои слова про то, что нет ограничений?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2013, 02:42
Привет! Вот еще темы с ответами:

C++ Добавление нового элемента в массив объектов - C++
Ошибка заключается в том что, после добавления нового элемента в массив groupArray через функцию Add, если попытаться вывести их происходит...

Вставка нового элемента в массив (дополнить код) - C++
Здравствуйте, нужна помощь. Суть такова имеется Куча, и туда нужно Вставить новый элемент, код имеется но не такой как надо :( Сделал, и...

Создать массив указателей с возможностью удаления любого элемента - C++
Привет, друзья! Мне в одной программе нужно было создать массив указателей с возможностью удаления любого элемента, сделал с помощью...

Вставка нового элемента в двумерный динамический массив дополнить код - C++
Здравствуйте ребята, опять нужна помощь по вставке элементов в двумерный динамический массив. А именно вставить рядок заполненный числами...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.03.2013, 02:42
Ответ Создать тему
Опции темы

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