対象が何万もあって、更に何回も調べるようなら、線形探索は不利だな。
qsort()とbsearch()を組み合わせるとよいかも。