170 похожих чатов

Тупой вопрос но всё же как можно было бы оптимизировать

код ?
Я подумывал с помощью рекурсии но как ?
#include <iostream>
#include <map>

using namespace std;
typedef map <int, map <int, map <int, map <int, int>>>> int_multimap;

struct Data {
int country, city, home, student, info;
};

int main() {
int_multimap data;
Data d = {1, 2, 4, 5, 6};

data.insert({1, {{2, {{3, {{4, 5}}}}}}});
// vvv
if (data.find(d.country) == data.end())
data.insert({ d.country, {{d.city, {{d.home, {{d.student, d.info}}}}}} });
else {
auto& i = data[d.country];
if (i.find(d.city) == i.end())
i.insert({ d.city, {{d.home, {{d.student, d.info}}}} });
else {
auto& j = i[d.city];
if (j.find(d.home) == j.end())
j.insert({ d.home, {{d.student, d.info}} });
else {
auto& q = j[d.home];
if (q.find(d.student) == q.end())
q.insert({ d.student, d.info });
}
}
}
// ^^^ - как оптимизировать ?

cout << data[1][2][3][4];
cout << data[1][2][4][5];
return 0;
}

2 ответов

35 просмотров

Я бы сделал отдельный класс-обертку над твоей мультимапой с нужными функциями

Ну emplace можно применять, а так что тут ещё то оптимизировать...

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта