频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
调整数组使奇数全部都位于偶数前面。
2015-11-17 14:18:04      个评论      
收藏   我要投稿
#include<stdio.h>
#include<assert.h>
void ReorderOddEven(int arry[], int size)
{
    assert(arry);
    if (arry == NULL || size <= 0)
    {
        return;
    }
    int begin = 0;
    int temp = 0;
    int end = size - 1;
    while (begin<end)
    {
        while (begin<end && arry[begin] % 2 != 0) //向后移动begin,直到它指向偶数
        {
            begin++;
        }
        while (begin<end && arry[end] % 2 == 0)   // 向前移动pEnd,直到它指向奇数
        {
            end--;
        }
        if (begin<end)
        {
            temp = arry[begin];     // 交换偶数和奇数
            arry[begin] = arry[end];
            arry[end] = temp;
 
        }
     
    }
    for (int j = 0; j<size; j++)
        {
 
            printf("%d", arry[j]);
 
        }
}
int main()
{
    int arr[] = { 1,2,3,4,5,6,7,8 };
    int size = sizeof(arr) / sizeof(arr[0]);
    ReorderOddEven(arr, size);
 
    system("pause");
    return 0;
}

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 奇数 偶数 数组
上一篇:遍历文件并格式化输出文件(shell脚本实现)
下一篇:Alibaba-Dexposed框架在线热补丁修复的使用
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站