处理流程如下图所示。
对于用例: 1,2,4,5,3
处理结果为:1,3,5,4,2

//将数组a中奇数放在前面,偶数放在后面
-(void)swapArray:(int[])a
{
int len = sizeof(&a)/sizeof(int);
if(len <= 0) //数组长度为0则返回
return ;
int front = 0, end = len-1;//设置两个指针,一个指向头部,一个指向尾部
while(front<end)
{
while(front<len && (a[front]&1)==1) //从前往后找偶数
front++;
while(end>=0 && (a[end]&1)==0) //从后往前找奇数
end--;
if(front<end)
{
int swap = a[end]; //将奇数往前挪,偶数往后挪
a[front] = a[end];
a[end] = swap;
}
}
}
 
                   
                   
                   
                   
                             本文介绍了一种简单的数组排序算法,该算法可以将数组中的所有奇数放置在偶数之前。通过使用两个指针分别从数组的头部和尾部开始遍历,找到需要交换位置的奇数和偶数元素并进行位置交换。
本文介绍了一种简单的数组排序算法,该算法可以将数组中的所有奇数放置在偶数之前。通过使用两个指针分别从数组的头部和尾部开始遍历,找到需要交换位置的奇数和偶数元素并进行位置交换。
           
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   1942
					1942
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            