zoukankan      html  css  js  c++  java
  • 将一个数组中的奇元素全部移到数组的前半部分,即将奇偶元素分开

    将一个数组中的奇元素全部移到数组的前半部分,即将奇偶元素分开?

    需要调整元素的顺序。先判断数组中的一个元素的奇偶性,如为奇数就往后移。

    如何判断一个元素的奇偶性?

    1. //判断元素的奇偶性  
    2. bool isEven(int data)  
    3. {  
    4.     return((data & 1) == 0 ? true : false);  
    5. }  


    测试如下:

    1. #include<stdio.h>  
    2.   
    3. //判断元素的奇偶性  
    4. bool isEven(int data)  
    5. {  
    6.     return((data & 1) == 0 ? true : false);  
    7. }  
    8.   
    9. int main()  
    10. {  
    11.     int i = 3;  
    12.     if(isEven(i))  
    13.     {  
    14.         printf("i is even");  
    15.     }  
    16.     else  
    17.         printf("i is not odd");  
    18.   
    19.     return 0;  
    20. }  


    实现代码如下:

    #include<iostream>   
    using namespace std;   
       
    //判断元素的奇偶性   
    bool isEven(int data)   
    {   
        return((data & 1) == 0 ? true : false);   
    }   
       
    void reOrder(int *data , int len)   
    { 
    	if(data == NULL || len == 0)
    		return;
    
        int *left = data;   
        int *right = data + len - 1;   
        int temp = 0;   
        while(left < right)   
        {   
            if(!isEven(*left))  //如果左边为奇数   
            {   
                left++;   
                continue;   
            }   
       
            if(isEven(*right)) //如果右边为偶数   
            {   
                right--;   
                continue;   
            }   
       
            temp = *left;   
            *left = *right;   
            *right = temp;   
       
            left++;   
            right--;   
        }   
    }   
       
    int main()   
    {   
        int data[] = {2 , 5 , 4 , 9 , 6 , 4};   
        int len = sizeof(data)/sizeof(int);   
        reOrder(data , len);   
        for(int i = 0 ; i < len ; i++)   
        {   
            cout<<data[i]<<" ";   
        }   
        cout<<endl;   
       
        system("pause");   
        return 0;   
    }  
    
    
  • 相关阅读:
    总结
    设置导航栏上面的内容
    统一所有控制器导航栏左上角和右上角内容
    直接设置UIView的x,y,width,height...
    block浅析
    const浅析
    - (BOOL)isEqual:(id)object
    数据存入沙盒
    swift感悟2
    swift自学感悟1
  • 原文地址:https://www.cnblogs.com/heyonggang/p/3308360.html
Copyright © 2011-2022 走看看