黑马程序员技术交流社区

标题: 关于数组运算的小练习 [打印本页]

作者: 爆炸头    时间: 2015-5-3 22:07
标题: 关于数组运算的小练习


import java.util.*;
class MaxArray
{
        public static void main(String[] args)
        {
                System.out.println("请输入5个整数,用空格隔开: ");
                int[] arr = new int[5];
                Scanner in = new Scanner(System.in);
                for(int i=0;i<5;i++)
                {
                        arr[i] = in.nextInt();
                }
                System.out.println("您输入的数组为:");
                printArr(arr);
                System.out.println("您输入的数组的最大值为:"+maxArr(arr));
                //selectArr(arr);
                bubbleArr(arr);
                System.out.println("bubble排序后的数组为:");
                printArr(arr);
               
        }
        //swapArr();方法   用于两个数据交换
        public static void swapArr(int[] arr,int x,int y)
        {
                int temp=0;
                temp=arr[x];
                arr[x]=arr[y];
                arr[y]=temp;

        }
        //maxArr方法 用于求数组的最大值
        public static int maxArr(int[] arr)
        {
                int max = arr[0];
                for(int i=1;i<arr.length;i++)
                {
                        if(arr[i]>max)
                        {
                                max=arr[i];
                                //swapArr(arr,);
                        }
                }
                return max;
        }
        //冒泡输入法
        public static void bubbleArr(int[] arr)
        {
                for(int i=0;i<arr.length-1;i++)
                {       
                        for(int j=0;j<arr.length-i-1;j++)
                        {
                                if(arr[j]>arr[j+1])
                                {
                                        swapArr(arr,j,j+1);
                                }
                       
                        }
               
                }
       
        }
        //选择排序
        public static void  selectArr(int[] arr)
        {
                for(int i=0;i<arr.length-1;i++)
                {
                        for(int j=i+1;j<arr.length;j++)
                        {
                                if(arr[j]<arr[i])
                                {
                                        swapArr(arr,j,i);
                                }
                        }
                }
        }
        //打印方法: 通过遍历逐个打印数组的数据
        public static void printArr(int[] arr)
                {
                        for(int j=0;j<arr.length;j++)
                        {
                                if(j!=arr.length-1)
                                {
                                        System.out.print(arr[j]+",");
                                }
                                else
                                {
                                        System.out.println(arr[j]);
                                }
                        }
                }

}


作者: 只吃饭不洗碗    时间: 2015-5-3 22:12
不错 不错 加油
作者: 南方小道士    时间: 2015-5-4 01:07
我好久没有打冒泡了
作者: 下一页5    时间: 2015-5-4 01:24
又是排序,我都差不多忘记了




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