How to make 5 GameObjects swap between 5 predetermined positions (1 gameobject occupy 1 position per time)?

First things first, I’m pretty much a newbie (I’ve started learning programming 2 weeks ago)…
So, I have one simple code. It contains a variable, which I call “trocar”, and two arrays: “posicoes”, which contains 5 Vector2, and “tijolos”, which are my 5 game objects. In another script, I’m incrementing my variable “trocar”.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TrocarBarra : MonoBehaviour
{
    public static int trocar;
    public Vector2[] posicoes = new Vector2[5];
    public GameObject[] tijolos = new GameObject[5];

    void Update()
     {
        if (trocar == 10){
        // here goes the script I need
        trocar = 0;
         }
     }
}

What I’d like to have in this script is: whenever “trocar” reaches the value 10, I swap my GameObjects “tijolos” so they occupy all of the 5 Vector2 “posicoes”, in a way that only one of them can occupy a position per time.

I tried it with “if’s” but it’s not good, since there are 125 combinations. Also, I tried to create something like this:

        int pos1 = Random.Range(0, posicoes.Length);
        int pos2 = Random.Range(0, posicoes.Length);
        int pos3 = Random.Range(0, posicoes.Length);
        int pos4 = Random.Range(0, posicoes.Length);
        int pos5 = Random.Range(0, posicoes.Length);

        while (pos2 == pos1)
             {
                 int pos2 = Random.Range(0, posicoes.Length);
                // etc etc
             }

until I had the following:

tijolos[1].transform.position = posicoes[pos1];
tijolos[2].transform.position = posicoes[pos2];
tijolos[3].transform.position = posicoes[pos3];
tijolos[4].transform.position = posicoes[pos4];
tijolos[5].transform.position = posicoes[pos5];

but it won’t work, since pos2, pos3, pos4 and pos5 can’t be used inside the while loop within what I wrote above.
With all said, I’d appreciate if anyone can help me!

Here’s an update:

I managed to get this code for the last part:

for (int i = tijolos.Length-1; i >= 0; i--)
        {
            int random = Random.Range(0, pos.Length);

            tijolos*.transform.position = pos[random];*

Now all of my objects are changing randomly, but they still overlay (I knew this would happen because the code allows overlay right now, I just wanted to share the new code lines).