Using Arduino to control random servos.

Yes I know that sounds like a paradox but I'm after something quite specific and hope that someone with some expertise can help me please.

Basically I just need to know if it's possible to activate one of ten servos, but only once.
So in other words say servo one does a sweep, then servo 7, then say 5 but it never goes back to a servo that's already been selected.

It's almost like I need some code to pick a random sequence from 1-10 at the beginning of the sketch, this order is then played out until all 10 servos have sweeped, then another random sequence is selected etc.

So is this possible please as I've not seen any code that could do anything like this?

Thanks in advance.

make array done [10] bool type
start your program

while done [number] pick another number
move the servo
set done[number ] true
add doneservos++
if doneservos>=10 then reset the array

One way I have used to randomize a list is to swap each entry with a randomly chosen other entry:

int servoIndexes[10];

void setup() {
  for (int i=0; i<10; i++) 
    servoIndexes[i] = i;
}

void shuffle() {
  for (int i=0; i<10; i++) {
    int randIndex = random(0,9);
    if (randIndex != i) {  // Don't bother moving if they are the same index
      int temp = servoIndexes[i];
      servoIndexes[i] = servoIndexes[randIndex];
      servoIndexes[randIndex] = temp;
     }
  }
}

void loop() {
  shuffle();
  // move each servo
}

If all goes well you will end up with a randomly ordered list of the values 0 through 9.