黑马程序员技术交流社区

标题: 点招题_对数组进行排序,_奇数放在前面,偶数放在后面,并且只能操作一个数组 [打印本页]

作者: wolfking0608    时间: 2016-9-28 15:37
标题: 点招题_对数组进行排序,_奇数放在前面,偶数放在后面,并且只能操作一个数组
这个题难倒了很多点招面试的大牛,你如果你不看答案,看是否可以做出来?
public class Test02_移数组 {
        public static void main(String[] args) {
                int[] arr = { 52, 48, 62, 73, 85 };
                for (int i = 0, k = 0; i < arr.length; i++, k++) {
                        if (arr[k] % 2 == 0) {
                                int temp = arr[k];// 先把这个偶数取出来

                                for (int j = k; j < arr.length - 1; j++) {// 把所有的值往前移动
                                        arr[j] = arr[j + 1];
                                }
                                arr[arr.length - 1] = temp;// 把第一个数移到最后的索引
                                k--;// 移动完毕后,要回退一次,从前移的开始继续查找
                        }
                }
                for (int i : arr) {
                        System.out.print(i + " ");
                }
        }
}

作者: wolfking0608    时间: 2016-9-28 15:39
题目描述:
    点招题_对数组进行排序,_奇数放在前面,偶数放在后面,并且只能操作一个数组 并且不能改变原有奇数和偶数之间的关系
作者: 细听风语为梧桐    时间: 2016-10-2 02:02
这他,乃,乃,的故意不让你进就业班啊。大发克
作者: Daveweil    时间: 2016-10-3 13:35
这个,排序就不要了???这就是坑爹啊
作者: 逍遥荻花    时间: 2016-10-3 14:23
表示没有看懂啊
作者: haoge349    时间: 2016-10-3 14:34
感觉用指针思想会更简单吧
作者: wolfking0608    时间: 2016-10-8 19:03
用java语言实现,您有其他方式吗,大神? 这个是考数据结构,这种题面试老师也出的出来,针对他无语了.但是老师就是要考这个题,您由其他解法吗?




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