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

Разбор массивов/контейнеров - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ неправильное чтение бинарного файла. http://www.cyberforum.ru/cpp-beginners/thread156229.html
программа должна по идее вывести 99.. мне так казалось.. #include <iostream> #include <stdlib.h> #include <stdio.h> using namespace std; int main() {
C++ Вызов методов класса // practice.cpp : main project file. #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; const int size=20; //======================================== class publication { http://www.cyberforum.ru/cpp-beginners/thread156201.html
Ошибка сегментации C++
Здравствуйте, написал программу, запускаю- Windows пишет: "обнаружена ошибка. Приложение будет закрыто". Ошибка в функции: bool prov(int re){ int i=0,j=0; bool r; if ((re==re)and(re==re)){r=true;}; if ((re==re)and(re==re)){r=true;};
Можно ли использвовать диррективу препроцессора #warning в Visual Studio 2008 C++
Здравствуйте Товарищи ;) Хочу, организовать себе памятку на будущее (чтобы потом поправить код) надумал использовать диррективу препроцессора #warning. НО тут проблема, в компиляторе Visual Studio 2008, её почему-то нет (может расскажете почему именной её убрали ;) ), ну не заменять же её #error - кой Может кто в курсе, как решить этот вопрос, буду очень признателен за помощь!
C++ Нахождение площади методом половинного деления http://www.cyberforum.ru/cpp-beginners/thread156118.html
Народ подскажите как находить площадь фигуры методом половинного деления, Вот фигура напрвте как решать метод половинного деления знаю как пишется.
C++ Найти два максимальных числа Задача впринципе легкая, но меня что-то зациклило по полной. Найти два максимальных числа из 10 введенных. БЕЗ массива. Одинаковое число может быть введено только ОДИН раз. Следовательно цикл может быть только один. Можно конечно наверное заводить под каждое введенное значение новую переменную... Но есть ли резон в этом? Кто может помогите плз. Вот код ищет максимальное число. //Находит... подробнее

Показать сообщение отдельно
nail89
5 / 5 / 0
Регистрация: 28.07.2010
Сообщений: 12

Разбор массивов/контейнеров - C++

28.07.2010, 21:53. Просмотров 4747. Ответов 39
Метки (Все метки)

Только начинаю изучть с++, необходимо сделать 2 ассоциативных динамических массива и походу сразу разобраться что да как.
Задача такова, первый массив в пике будет достигать ~300 тыс элементов. Добавление, удаление и поиск элементов по ключу будет производиться ~ 200 раз в минуту. Полное считывание массива будет происходить ~ один раз в 5 минут. При этом в сортировке нет необходимости
Второй массив такойже, только элементов около 100 тыс и с сортировкой. Сортировать массив можно сразу по ходу добавления элементов, либо при выводе. Наверно я придержусь второго варианта.
Такая вот задача. Нужно разобраться как это сделать оптимальнее.
Тут я обратил внимание на библиотеку STL
Вот всё, что мне удалось найти:
- vector: C-подобный динамический массив произвольного доступа с автоматическим изменением размера при добавлении/удалении элемента.
- list: Двусвязный список, элементы которого хранятся в произвольных кусках памяти, в отличие от контейнера vector, где элементы хранятся в непрерывной области памяти. Поиск перебором медленнее, чем у вектора из за большего времени доступа к элементу. Доступ по индексу за O(n). В любом месте контейнера вставка и удаление производятся очень быстро - за O(1).
- deque: Контейнер похож на vector, но с возможностью быстрой вставки и удаления элементов на обоих концах за O(1). Реализован в виде двусвязанного списка линейных массивов.
- set: Упорядоченное множество уникальных элементов. При вставке/удалении элементов множества итераторы, указывающие на элементы этого множества, не становятся недействительными.
- multiset: о же что и set, но позволяет хранить повторяющиеся элементы.
- map: Упорядоченный ассоциативный массив пар элементов, состоящих из ключей и соответствующих им значений. Ключи должны быть уникальны. Порядок следования элементов определяется ключами.
- multimap: То же что и map, но позволяет хранить несколько одинаковых ключей.

Больше я описания не нашёл. В моём случае необходимо чтобы массив удовлетворял следующим условиям:
1. Был динамичен
2. Не сортировался
3. Элементы должны хранится в произвольных кусках памяти, как у list. Я так понял в моём случае это оптимальнее.
4. Был ассоциативный и содержал только уникальные ключи, значит либо set, либо map.

Кто работал с подобным массивом, подскажите оптимальный способ или просто своё мнение.
Всем спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru