黑马程序员技术交流社区

标题: 面试题: 随机给出一个数组,要求你把越靠近50的数往左排; [打印本页]

作者: decadence90    时间: 2015-7-24 22:26
标题: 面试题: 随机给出一个数组,要求你把越靠近50的数往左排;
public class Demo {
        public static void main(String[] args) {
                // int[] arr = { 50, 54, 97, 54, 60, 51 };
                // int[] arr1 = { 12, 43, 34, 50 };
                int[] arr2 = { 50, 54, 97, 54, 60, 51, 12, 43, 34, 50 };
                sort(arr2);
                for (int i = 0; i < arr2.length; i++) {
                        System.out.print(arr2[i] + "\t");
                }

        }

        public static void sort(int[] arrInt) {

                for (int i = 0; i < arrInt.length - 1; i++) {

                        for (int j = i + 1; j < arrInt.length; j++) {

                                if (Math.abs(arrInt[i] - 50) >= Math.abs(arrInt[j] - 50))

                                        swap(arrInt, i, j);

                        }
                }
        }

        public static void swap(int[] arr, int i, int j) {

                int temp = arr[i];

                arr[i] = arr[j];

                arr[j] = temp;

        }
}




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