Исходный алгоритм - однопроходный bucket sort, с ключами в диапазоне
[Niz, Niz+65535]. Явных ошибок я не заметил.
не могу понять, ошибка в этом переводе или в самой программе, проверьте пожалуйста! заранее спасибо!
Перевод содержит кучу ошибок. Во первых, куда делся параметр
Niz и откуда появились два новых параметра
a и
b?
Пропало определение
Nmax.
Основной цикл переписали так, что он стал работать неправильно. Переменные
i и
j должны вычисляться заново при каждой итерации внутреннего цикла.
Только замените HighX в циклах на аналогичную в С++. Что делает функция High() в Паскале?
Судя по коду,
High() возвращает индекс последнего элемента массива. В переписанном на C++ коде используется простой массив, а не
vector<>, поэтому размер массива передаётся дополнительным параметром
n.
И структуры в C++ присваиваются по-другому.
Нормально структуры присваиваются, не надо наговаривать.