Как поменять элементы массива местами?
Вы описали алгоритм сортировки пузырьком.

Его реализация:

int[] array = new[] { 1, 2, 3, 4, 5 };
int temp;
            for (int i = 0; i < array.Length-1; i++)
            {
                for (int j = i + 1; j < array.Length; j++)
                {
                    if (array[i] > array[j])
                    {
                        temp = array[i];
                        array[i] = array[j];
                        array[j] = temp;
                    }
                }
            }

Теперь просто примените этот алгоритм к своей конкретной задаче.
для начала - у вас в коде нет ни одного изменения самого массива ))

далее.. в чем трудности?допустим мы хотим поменять пару элементов местами
int[] array = new[] { 1, 2, 3, 4, 5 };
var tmp = array[0];
array[0] = array[1];
array[1] = tmp;
про поиск
int[] array = new[] { 1, 2, 3, 4, 5 };
var maxindex  = 0;
var max = array[maxindex];
for(var i = maxindex; i<array.Length; i++)
    if (array[i] > max)
    {
       maxindex  = i;
       max = array[i];
    }
бонус (функциональный синтаксический сахар)var array = new[] { 1, 2, 3, 4, 5 };
(array[0], array[1]) = (array[1], array[0]);.. и поискvar array = new[] { 1, 2, 3, 4, 5 };
var (maxindex, max)  = (0, array[0]);
for(var i = maxindex; i<array.Length; i++)
    if (array[i] > max)
       (maxindex, max) = (i, array[i]);