Я читаю файл с командами [a-zA-Z] [a-zA-Z0-9], т. Е. Двумя символами. Всего 43 команды, и я хотел бы преобразовать два символа в число (1..43).Лучший выбор для очень простой таблицы поиска
Как вы продолжите? Я думал о создании массива из 43 неподписанных трусов (два байта) каждый из которых соответствуют двум символам каждой команды, а затем делать что-то вроде:
//char1: first char of cmd, char2: second char of cmd, lut: array of 43 shorts.
unsigned short tag;
tag = (char1 << 8) | char2;
for(int i=1;i<=43;i++) {
if(tag==lut[i-1]) return i;
}
return 0;
Дела в том, что я не уверен, если это лучший способ сделать то, что я хочу. Я предполагаю, что с 43 элементами это не имеет значения, но этот список может увеличиться в будущем.
мог бы использовать HashMap для отображения из командной строки на номер – amdixon
Что «ЛУТ»? "Справочная таблица"? – stakx
Это действительно зависит от того, что вы собираетесь делать с этой структурой данных. Для каждой цели нет идеальной структуры данных. – stakx