
Код AS3:
var elem:*;
for var i:int=1; i<array.length; i++) {
if(array[i-1] == array[i]) {
elem = array[i];
array.splice(i, 1);
if(elem != array[0]) {
array.unshift(elem);
} else {
for(var j:int=1; j<array.length; j++) {
if(array[j-1] != elem && array[j] != elem) {
array.splice(j, 0, elem);
elem = null;
break;
}
}
if(elem) {
if(array[array.length - 1] != elem) {
array.push(elem);
} else {
// хз куда его в таком случае :)
}
}
}
}
}
в общих чертах как то так.. но нужно еще учесть что может не быть подходящего места куда нужно вставить элемент