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

Вопрос по массиву. - C++

Восстановить пароль Регистрация
 
Аиас
 Аватар для Аиас
17 / 17 / 1
Регистрация: 13.02.2011
Сообщений: 107
24.04.2011, 00:24     Вопрос по массиву. #1
Вобщем вопрос такой, существует массив с данными, который медленно но постоянно растёт.
Но нужно чтобы элементы к которым давно не обращались - удалялись. Массив сортированный, алгоритмы удаления, поиска итд уже имеются.
Есть у кого идеи, как это можно реализовать, хотя бы приблезительно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2011, 00:24     Вопрос по массиву.
Посмотрите здесь:

Движение по массиву C++
C++ Поиск по массиву
единственный проход по массиву C++
фрагмент по массиву C++
C++ Поиск по массиву
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
24.04.2011, 00:28     Вопрос по массиву. #2
Что значит "Давно не обращались"? Если количество обращений к какому-либо элементу по отношению к данному - то можно хранить не сам элемент, а пару "элемент-количество_обращений" и сравнивать с абсолютным. Если разность превысит некоторое значение - удалять соответствующую пару.

P.S. Для этой цели лучше подойдёт не массив, а список или дерево.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
24.04.2011, 14:03     Вопрос по массиву. #3
Cоздай к своему элементу счётчик обращений при обращение счётчик будет увеличиваться если обращений нет опредёлнное время для этого ещё используй время timestamp сохрани в переменную DWORD(unsigned long), и тебе нужен цикл просмотра всех элементов в заданное тобой времени для определения обращений к элементам массива, это простое дело, всего две переменные нужно count, timestamp и OK.
Аиас
 Аватар для Аиас
17 / 17 / 1
Регистрация: 13.02.2011
Сообщений: 107
24.04.2011, 16:12  [ТС]     Вопрос по массиву. #4
Цитата Сообщение от xAtom Посмотреть сообщение
Cоздай к своему элементу счётчик обращений при обращение счётчик будет увеличиваться если обращений нет опредёлнное время для этого ещё используй время timestamp сохрани в переменную DWORD(unsigned long), и тебе нужен цикл просмотра всех элементов в заданное тобой времени для определения обращений к элементам массива, это простое дело, всего две переменные нужно count, timestamp и OK.
Ну хорошо, это всё сделать можно элементарно. Но как сделать алгоритм проверки на устаревшие? Привязывать к функции поиска одновреманно поиск устаревших элементов и потом уже удалять, я так понимаю?
Yandex
Объявления
24.04.2011, 16:12     Вопрос по массиву.
Ответ Создать тему
Опции темы

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