zoukankan      html  css  js  c++  java
  • 基础数组算法问题

      今日,java课上机,旁边一同学让我写一个排序算法,虽然之前学过数据结构,但当时我却真心没回忆起来,于是乎,课后,我回到宿舍,用Java将这几个基本的数组排序问题写了一下。其实,看起来很简单,可是当时确实没有回忆起来。很不应该!以下代码我自己测试了,均能运行。写这篇博文,也是为了提醒我自己,以后这种基本的东西必须得让自己多留几个心眼!

    package exercise;
    
    public class TestArray {
        //求数组的最大值
        public int getMax(int[] arr){
            int max = arr[0];
            for(int i = 1;i<arr.length;i++){
                if(max < arr[i]){
                    max = arr[i];
                }
            }
            return max;
        }
        //求数组的最小值
        public int getMin(int[] arr){
            int min = arr[0];
            for(int i = 1;i<arr.length;i++){
                if(min >arr[i]){
                    min = arr[i];
                }
            }
            return min;
            
        }
        //遍历数组元素
        public void printArray(int[] arr){
            System.out.println("[");
            for(int i = 0;i<arr.length;i++){
                System.out.print(arr[i]+"	");
            }
            System.out.println("]");
        }
        //求数组的的平均数
        public int avg(int[] arr){
            /*int sum = 0;
            for(int i = 0;i<arr.length;i++){
                sum += arr[i];
            }*/
            int sum = getSum(arr);
            return sum/arr.length;
            
        }
        //求数组的总和
        public int getSum(int[] arr){
            int sum = 0;
            for(int i = 0;i<arr.length;i++){
                sum += arr[i];
            }
            return sum;
        }
        
        //数组的反转
        public int[] reverse(int[] arr){
            for(int x = 0,y = arr.length-1;x<y;x++,y--){
                int temp = arr[x];
                arr[x] = arr[y];
                arr[y] = temp;
            }
            return arr;
        }
        //实现数组的复制
        public int[] copy(int[] arr){
            /*
             * int[] arr1 = arr;
             * return arr1; 
             * */
            int[] arr1 = new int[arr.length];//设置复制后的数组长度与原数组的长度一样
            for(int i = 0;i<arr.length;i++){
                arr1[i] = arr[i];
            }
            return arr1;
            
        }
        //对数组进行排序--冒泡排序
        public void sort(int[] arr,String desc){
            if(desc == "asc"){//ascend:表示从小到大
            for(int i = 0;i<arr.length;i++){
                for(int j = 0;j<arr.length-1-i;j++){
                    if(arr[j]>arr[j+1]){
                        swap(arr,j,j+1);
                    }
                }
            }
          }else if( desc == "desc"){//descend:表示从大到小
              for(int i = 0;i<arr.length;i++){
                    for(int j = 0;j<arr.length-1-i;j++){
                        if(arr[j] < arr[j+1]){
                            swap(arr,j,j+1);
                        }
                    }
                }
             }
          else{
              System.out.println("您输入的排序方式有误");
          }
        }
        //交换数组中指定位置的元素--交换数组arr中索引为i和j位置处的元素
        public void swap(int[] arr,int i,int j){
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
        
        
    }
    package exercise;
    import exercise.TestArray;
    
    public class TestArray1 {
       public static void main(String[] args){
           int[] arr = new int[]{12,4,23,56,67,36,57,23,45,14,-23,-4};
           TestArray t = new TestArray();
           
           int avg = t.avg(arr);
           System.out.println("avg :"+avg);
           
           int max = t.getMax(arr);
           System.out.println("Max:"+max);
           
           
           
           System.out.println("反转之前!");
           t.printArray(arr);
           
           t.reverse(arr);
           
           System.out.println("反转之后!");
           t.printArray(arr);
       }
    }
  • 相关阅读:
    jQuery的简单应用
    JQuery事件
    [django]数据导出excel升级强化版(很强大!)
    [Django]用户权限学习系列之权限管理界面实现
    [Django]用户权限学习系列之设计自有权限管理系统设计思路
    [jquery]显示隐藏div标签的几种方法
    [Django]用户权限学习系列之User权限基本操作指令
    [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)
    [Django]用户权限学习系列之Permission权限基本操作指令
    [python]set集合学习
  • 原文地址:https://www.cnblogs.com/Terminaling/p/4095859.html
Copyright © 2011-2022 走看看