码迷,mamicode.com
首页 > 编程语言 > 详细

数组中的常用算法

时间:2018-05-06 21:19:26      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:--   直接   组元   ring   算法   string   out   temp   str   

public static void main(String[] args) {
        int[] arr = new int[] { 12, 43, 9, 0, -65, -99, 100, 9 };

        // 最大值
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (max < arr[i]) {
                max = arr[i];
            }
        }
        System.out.println("数组的最大值为:" + max);

        // 最小值
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (min > arr[i]) {
                min = arr[i];
            }
        }
        System.out.println("数组的最小值为:" + min);

        // 总和
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        System.out.println("总和为:" + sum);

        // 平均数
        int avg = 0;
        avg = sum / arr.length;
        System.out.println("平均值为:" + avg);

        // 数组的复制
        int[] arr1 = new int[arr.length];
        for (int i = 0; i < arr1.length; i++) {
            arr1[i] = arr[i];
        }
        // 数组元素的反转
        // for(int i = 0;i < arr.length/2;i++){
        // int temp = arr[i];
        // arr[i] = arr[arr.length-1 - i];
        // arr[arr.length - 1 - i] = temp;
        // }
        for (int x = 0, y = arr.length - 1; x < y; x++, y--) {
            int temp = arr[x];
            arr[x] = arr[y];
            arr[y] = temp;
        }
        System.out.println("反转以后:");
        // 遍历
        
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }
//        // 使用冒泡排序使数组元素从小到大排列
//        for (int i = 0; i < arr.length - 1; i++) {
//            for (int j = 0; j < arr.length - 1 - i; j++) {
//                if (arr[j] > arr[j + 1]) {
//                    int temp = arr[j];
//                    arr[j] = arr[j + 1];
//                    arr[j + 1] = temp;
//                }
//            }
//        }
//        //使用直接选择排序使数组元素从小到大排列
//        for(int i = 0; i < arr.length - 1; i++){
//            int t = i;//默认i处是最小的
//            for(int j = i;j < arr.length;j++){
//                //一旦在i后发现存在比其小的元素,就记录那个元素的下角标
//                if(arr[t] > arr[j]){
//                    t = j;
//                }
//            }
//            if(t != i){
//                int temp = arr[t];
//                arr[t] = arr[i];
//                arr[i] = temp;
//            }
//        }
        Arrays.sort(arr);
        
        System.out.println("排序以后:");
        // 遍历
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "\t");
        }
        
    }

 

数组中的常用算法

标签:--   直接   组元   ring   算法   string   out   temp   str   

原文地址:https://www.cnblogs.com/lzb0803/p/8999539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!