Сообщение Re: Вопрос по std::unordered_set от 22.09.2021 8:15
Изменено 22.09.2021 8:16 _agg
Re: Вопрос по std::unordered_set
Здравствуйте, _agg, Вы писали:
_>Вот простейший код с unordered_set:
_>
_>После его запуска получаем вот такой результат:
_>OPERCODE
_>ACCOUNT
_>MTSID
_>OPERNAME
_>orderSum
_>TRNID
_>CHECKID
_>ACCEPT_CODE
_>Если внимательно посмотреть в какой последовательности вставляли, то при обходе контейнера видно что порядок нарушен, можно ли как то сохранить порядок вставки при обходе ?
Решил проблему оригинальной последовательности просто, положил и заполнил экземпляр std::list<std::unordered_set<std::string>::iterator>
_>Вот простейший код с unordered_set:
_>
_> std::unordered_set<std::string> us;
_> us.insert("ACCOUNT");
_> us.insert("MTSID");
_> us.insert("OPERNAME");
_> us.insert("OPERCODE");
_> us.insert("CHECKID");
_> us.insert("TRNID");
_> us.insert("ACCEPT_CODE");
_> us.insert("orderSum");
_> for (auto& item : us) {
_> std::cout << item.c_str() << std::endl;
_> }
_>
_>После его запуска получаем вот такой результат:
_>OPERCODE
_>ACCOUNT
_>MTSID
_>OPERNAME
_>orderSum
_>TRNID
_>CHECKID
_>ACCEPT_CODE
_>Если внимательно посмотреть в какой последовательности вставляли, то при обходе контейнера видно что порядок нарушен, можно ли как то сохранить порядок вставки при обходе ?
Решил проблему оригинальной последовательности просто, положил и заполнил экземпляр std::list<std::unordered_set<std::string>::iterator>
Re: Вопрос по std::unordered_set
Здравствуйте, _agg, Вы писали:
_>Вот простейший код с unordered_set:
_>
_>После его запуска получаем вот такой результат:
_>OPERCODE
_>ACCOUNT
_>MTSID
_>OPERNAME
_>orderSum
_>TRNID
_>CHECKID
_>ACCEPT_CODE
_>Если внимательно посмотреть в какой последовательности вставляли, то при обходе контейнера видно что порядок нарушен, можно ли как то сохранить порядок вставки при обходе ?
Решил проблему оригинальной последовательности просто, положил рядом и заполнил экземпляр std::list<std::unordered_set<std::string>::iterator>
_>Вот простейший код с unordered_set:
_>
_> std::unordered_set<std::string> us;
_> us.insert("ACCOUNT");
_> us.insert("MTSID");
_> us.insert("OPERNAME");
_> us.insert("OPERCODE");
_> us.insert("CHECKID");
_> us.insert("TRNID");
_> us.insert("ACCEPT_CODE");
_> us.insert("orderSum");
_> for (auto& item : us) {
_> std::cout << item.c_str() << std::endl;
_> }
_>
_>После его запуска получаем вот такой результат:
_>OPERCODE
_>ACCOUNT
_>MTSID
_>OPERNAME
_>orderSum
_>TRNID
_>CHECKID
_>ACCEPT_CODE
_>Если внимательно посмотреть в какой последовательности вставляли, то при обходе контейнера видно что порядок нарушен, можно ли как то сохранить порядок вставки при обходе ?
Решил проблему оригинальной последовательности просто, положил рядом и заполнил экземпляр std::list<std::unordered_set<std::string>::iterator>