黑马程序员技术交流社区

标题: 新手求教怎么排列奇数在前偶数在后!! [打印本页]

作者: 欧湘林    时间: 2013-3-23 20:15
标题: 新手求教怎么排列奇数在前偶数在后!!
本帖最后由 欧湘林 于 2013-3-23 21:46 编辑

如题,求指导!

作者: 许正龙    时间: 2013-3-23 20:29
楼主是对数组排序,可以举个例子.思路大概是用%2求余的方式分出奇数和偶数,再根据你的需要排列啊。
作者: 欧湘林    时间: 2013-3-23 21:24
谢谢指导了!!~受教!
作者: 邓建军    时间: 2013-3-23 21:50
思路:类似快速排序的处理,从左边扫描直到找到偶数,再从右边扫描直至找到奇数,再交换。
int[] a = {1,2,3,4,5,6,7,8,9,10};  
    public void oddAndEven() {  
        int i = 0;  
        int j = a.Length-1;  
        int temp;  
        while(true) {  
            while(i<a.Length && (a[i]%2 == 0))
           {  
                i++;  
            }  
            while(j>= 0 && (a[j]%2 == 1))
           {  
                j--;  
            }  
            if( i > j ) break;  
            temp = a[i];  
            a[i] = a[j];  
            a[j] = temp;  
        }  
         
        for(i=0; i<a.Length; i++) {  
            Console.WriteLine(a[i] + "  ");  
        }  
作者: 苏波    时间: 2013-3-23 23:33
邓建军 发表于 2013-3-23 21:50
思路:类似快速排序的处理,从左边扫描直到找到偶数,再从右边扫描直至找到奇数,再交换。
int[] a = {1,2, ...

有比较简便 的方法 可以思考下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2