Если честно, не оченб разобрался в Вашем коде, равно как и в алгоритме.
Мне последовательность действий представляется такой: заводите массив из трёх элементов и добавляете туда первые три элемента входного массива.
Далее в цикле каждый элемент входного массива сравниваете с элементами массива из трёх элементов. Если он больше хотя бы одного из трёх - удаляете наименьший из трёх и на его место ставите этот элемент, если нет, то двигаетесь дальше.