Arrange postive, negative in Alternative position
by sesubash
JavaScript
var input = [1,5,-5,6,1,-2,5,5,-1,2];
var len = input.length;
for (var i = 0; i < len; i++)
{
if(i%2 == 0){
if(input[i] < 0){
var index = nextIndex(input, i, true);//get next positive index
if(index != -1){
var temp = input[i];
input[i] = input[index];
input[index] = temp;
}
}
}else{
if(input[i] > 0){
var index = nextIndex(input, i, false); //get next negative index
if(index != -1){
var temp = input[i];
input[i] = input[index];
input[index] = temp;
}
}
}
}
function nextIndex(input, i, status){
for (var j = i; j < input.length; j++)
{
if(status){
if(input[j] > 0){
return j;
}
}else{
if(input[j] < 0){
return j;
}
}
}
return -1;
}
console.log(input);