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

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

Войти
Регистрация
Восстановить пароль
 
main.c
24 / 24 / 4
Регистрация: 05.04.2012
Сообщений: 237
#1

Реализовать модель ассоциативного кеша - C++

02.05.2014, 17:20. Просмотров 214. Ответов 1
Метки нет (Все метки)

Передо мной стоит задача, реализовать модель ассоциативного кеша, я решил использовать очередь с приоритетами, в ней будут храниться пары ключ-значение, ключом будет время, когда мы обращались к элементу, а значением сам элемент лежащий в кеше.
В приницпе сложности в реализации нет, но зачем писать свою реализацию, если есть STL. Но возникли некторые сложности, я никак не могу найти метод поиска элемента с заданным ключом? Он есть или мне прийдётся самому писать? И если прийдётся, то как это делается, я первый раз пользуюсь STL. Вот моя программа без метода поиска:
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
#include <iostream>
#include <queue>
 
using namespace std;
 
typedef struct CashStr{
    int addr;
    int time_resp;
} CashStr;
 
class CompCashStr{
    public:
        bool operator() (CashStr &x, CashStr &y){
            return (x.time_resp > y.time_resp);
        }
};
 
int main() {
    priority_queue<CashStr, vector<CashStr>, CompCashStr> pq;
    CashStr t[4] = {{100, 1},{200, 2},{300, 3},{400, 4}};
  
    for (int i = 0; i < 4; i++)
        pq.push(t[i]);
    
    while (!pq.empty()) {
        CashStr x = pq.top();
        cout <<  x.addr << " " << x.time_resp << " " << endl;
        pq.pop();
    }
       
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2014, 17:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализовать модель ассоциативного кеша (C++):

Как реализовать код без применения ассоциативного массива (map)? - C++
Имеется такой код. Как можно его изменить, не использую массив map? #include &lt;iostream&gt; #include &lt;map&gt; #include &lt;string&gt; #include...

Не могу реализовать очередь (модель дозаправки самолетов в воздухе) - C++
Вот само задание: Модель дозаправки самолетов в воздухе. После выполнения задания самолеты производят дозаправку в воздухе. В...

Сортировка ассоциативного контейнера! - C++
В классе есть поля: название, цена и количество. Нужно записать данные в ассоциативный контейнер, и нужно один раз отсортировать и вывести...

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

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

Программа на C++, которая переводит цветовую модель RGB в модель HSV - C++
Всем привет! Я - начинающий программист. Мне нужна ваша помощь. Мне нужно сделать программу на C++, которая переводит цветовую модель RGB в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
0x10
2460 / 1632 / 238
Регистрация: 24.11.2012
Сообщений: 4,015
02.05.2014, 17:38 #2
У очереди не может быть произвольного доступа к элементам.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2014, 17:38
Привет! Вот еще темы с ответами:

Создание класса шаблона, ассоциативного массива - C++
При компиляции возникают проблемы следующего характера. 1. В конструкторе IContainer компилятор пишет waring: преобразование const double...

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

Где найти реализацию ассоциативного массива? - C++
Хочу реализовать map. Погуглил не нашел.

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


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

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

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