输入一个整数数组,调整数组顺序,使得奇数位于偶数前面
主要思想:其中变量i和j的初试值为:i=0;j=arr.length-1;
(1)判断是第一个数是不是偶数,最后一个是不是奇数,如果是,则交换他们的顺序;
(2)判断第一个数是不是奇数,最后一个数是不是奇数;是的话则i++
(3)判断第一个数是不是偶数,最后一个数是不是偶数,条件满足则j--;
(4)判断第一个数是不是奇数,最后一个数是不是偶数,是的话则i++,j--;
<pre name="code" class="javascript">function order(arr)
{
if(arr.length <=0)
{
return;
}
var i=0;
var j=arr.length - 1;
while(i<j)
{
if((arr[i]%2 ==0)&&(arr[j]%2 !=0))
{
var temp = arr[i];
arr[i] =arr[j];
arr[j]=temp;
// i++;
// continue;
}else if((arr[i]%2!==0)&&(arr[j]%2 !=0))
{
i++;
}else if((arr[i]%2 ==0)&&(arr[j]%2==0) )
{
j--
}else
{i++;j--}
// i++;
}
return arr;
}
console.log(order([1,2,3,4,5,6,12,7,8,9,10]));