黑马程序员技术交流社区

标题: 数组的选择 冒泡排序、最值、随机生成 [打印本页]

作者: 白月留梦    时间: 2015-6-30 22:54
标题: 数组的选择 冒泡排序、最值、随机生成
[code]
/*
定义一个数组,向数组里面随机添加数据
*/
import java.lang.Math;

class  ForDemo1
{
        public static void main(String[] args)
        {
                int [] arr=new int[8];
               
                setRandom(arr);
                System.out.println();
                getRandom(arr);
                System.out.println();
                getMax(arr);
                //selectSort(arr);
                //getRandom(arr);
                maoPaoSort(arr);
                getRandom(arr);

        }
        //给数组添加随机数的方法
        public static void setRandom(int[] arr){
                //遍历数组
                for(int x=0;x<arr.length;x++){
                //生成int类型的1-100之间的随机数
                int random=(int)(Math.random()*100+1);
                //打印出生成的随机数
                System.out.print(random+",");
                //将生成的随机数存入数组中
                arr[x]=random;
                }
        }
        //定义一个获取数组中随机数的方法
        public static void getRandom(int [] arr){
                for(int y=0;y<arr.length;y++){
                        //打印出数组中的数据
                        System.out.print(arr[y]+",");
                }
        }
        //定义一个获取数组中最大值的方法
        public static void getMax(int [] arr){
                //定义一个变量,记录数据
                int temp=arr[0];
                //当a=arr.length-1的时候arr[a+1]会发生异常,所以a<arr.length-1
                for(int a=0;a<arr.length-1;a++){
                        //对数组中的值从0索引位置开始判断,并记录大的的值
                        if(arr[a]<arr[a+1]){
                                temp=arr[a+1];
                       
                        }
                }
                System.out.println(temp);
       
        }
        //对生成的数组进行选择排序
        public static void selectSort(int [] arr){
                //遍历数组,选择排序是每一个数向它后面所有的数进行判断
                for(int m=0;m<arr.length;m++){
                        for(int n=m+1;n<arr.length;n++){
                                //对数进行判断,如果arr[m]>arr[n];则交换顺序
                                if(arr[m]>arr[n]){
                                        int temp1=arr[m];
                                        arr[m]=arr[n];
                                        arr[n]=temp1;
                                }
                        }
                }
        }
        //对生成的数组进行冒泡排序
        public static void maoPaoSort(int [] arr){
        //遍历数组  冒泡排序是两两相邻的两个数进行比较
                for(int c=0;c<arr.length;c++){
                        for(int d=0;d<arr.length-c-1;d++){
                                //对两个相邻的数进行比较 如果arr[d]>arr[d+1] 则交换顺序
                                if(arr[d]>arr[d+1]){
                                        int temp2=arr[d];
                                        arr[d]=arr[d+1];
                                        arr[d+1]=temp2;
                                }
                        }
                }
        }
}


作者: 孙培广    时间: 2015-6-30 23:00
写的不错




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