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

Получается, что for k, trDto := range data не

гарантирует порядок по мапу, но гарантирует по слайсу?

18 ответов

15 просмотров

Почитайте за unordered map,она по дефолту в го, если вам нужна упорядоченная мапа то смотрите в сторону ordered map

в го специально сделано так что бы порядок элементов в мап был рандомен слайс никакого отношения к мап не имеет, но да он сохраняется сортировку

Зря ожидал. У мапы под капотом range лежит рандомизатор перебора ключей. Специальная фича от производителя.. ;)

Данил
шиза производителя скорее

не, не шиза, в go мапы реализованы с использованием хэш таблиц и в связи с этим порядок всегда будет разным. Сделано в угоду быстрой производительности операций INSERT и GET

Данил
шиза производителя скорее

Да уже все равно, баг, фича или шиза.. оно так есть. Если надо упорядоченно доставать из мапы, то рядом соберите слайс ключей, по нему и итерируйтесь в порядке сборки или сортировки. По ключам достаете из мапы чего надо было..

Сергей Турченков
не, не шиза, в go мапы реализованы с использование...

если тебе нужно unordered_map - используй unordered_map. нормальное std должно поддерживать несколько типов хотя бы самых базовых map под юзкейсы и быть расширяемым,композитным, иметь компораторы и redefine хеш-функции всего такого. почему я должен мутить костыли с векторами и соответственно ударом по памяти, если мне нужна обычная упорядоченная мапа? кстати, у меня к тебе такой вопросик. O(1) у хешмапы всегда быстрее logN у красно-черного или сета скажем?

Maxim Dororonin
Вот это первый раз слышу

Там запилен рандом по ключам. Специально.

Данил
если тебе нужно unordered_map - используй unordere...

а какой верный ответ на последний вопрос?

Данил
конечно же нет

в каких случаях нет?

Denial ...
в каких случаях нет?

у хешмапы лучше комплексити, но это ниче не говорит о его эвристике и на малом количестве дерево c logN будет значительно быстрее + у него нет никаких колизий, там стабильное время выполнения, никакого перехеширования, а у красно-черных элементы балансируются. если нужно что-то искать по критериям, диапазонам, вхождениям, порядку элементов то хешмапы совсем проигрывают

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Всем привет! Кто пользуется DevExpress, подскажите пожалуйста, реализован ли в TcxGrid в новых версиях поиск по датам как в Экселе (ну т.е. не просто список чекбоксов со значе...
A Z
4
Карта сайта