Вопрос структуры данных - PullRequest
1 голос
/ 20 июня 2011

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

Я думал, вектор, но это не заказано. Какие-либо предложения? Я уверен, что ответ - мне в лицо, но, просматривая свои записи, я не могу найти ничего, что щелкает.

Любая помощь с этим будет принята с благодарностью.

Ответы [ 3 ]

2 голосов
/ 20 июня 2011

Классический ответ на это: дерево.Простейшим будет двоичное дерево поиска, но вы также можете искать красно-черные деревья или деревья AVL. библиотека графов буста также может быть хорошей отправной точкой.

1 голос
/ 20 июня 2011

Смотрите ... если добавление и удаление происходит только с начала и до конца, вы можете использовать QUEUE , но если это может быть где-то в данных, то я бы предложил список ссылок .... хоть и немного сложно управлять, но может произойти эффективное удаление и обновление .... Надеюсь, это поможет .... ПРАВКА .... чтобы добавить к моему ответу и быть более точным ... дерево это вариант .....

0 голосов
/ 20 июня 2011

Я думаю, что вектора достаточно для спецификации.

std::vector<int> d;
d.push_back(1);
d.push_back(4);
d.push_back(2);
d.push_back(3);
std::vector<int>::const_iterator it;
for (it = d.begin(); it != d.end(); it++) {
    std::cout << *it << std::endl; // show 1 4 2 3
}
// language: cpp

Или вы имеете в виду, что "ЗАКАЗ" означает "Сортировка"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...