数组——格式



                                                                数组_——格式

格式一:

元素类型[]   数组名  =  new    元素类型[]{元素,元素,……};

int       []      arr     =     new     int[]{89,34,270,17};

常规的初始化值

int[]   arr={89,34,270,17};

静态的初始化值


什么时候用哪一种格式?

格式一:

需要一个容器,但是不明确容器的具体数据。

int[]  arr=new  int[3];


格式二:

需要一个容器,存储已知的具体数据。

int[]  arr=new int[]{89,34,270,17};


                                        

                                                    数组——常见的操作-遍历

对数组操作最基本的动作就是存和取。

核心思想:就是角标的操作。

class  DemoCtil{

        public static void main(String[] args){

            int[]  arr ={89,34,270,17};

            System.out.println("length:"+arr.length);

            for(int   x=0;x<arr.length;x++){

                 System.out.println("arr["+x+"]="+arr[x]+",");

                }

        }

}注:这个是正向遍历


class DemoCtil_1{

        public static void main(String[] args){

            int arr={89,34,270,17};

            for(int x =arr.length;x>=0;x--){

                System.out.println("arr["+x+"]="+arr[x]+",")

                }

        }

}注:这个是反向遍历


注:arr.length的意思是arr的长度

这个是查询数组里面的个数System.out.println("length:"+arr.length);



                                                    数组的常见操作

  1. 获取最值(最大值,最小值)

  2. 排序(选择排序,冒泡排序)

  3. 折半查找(二分查找)


1,获取最值:

获取数组中的最大值。

思路:

  1. 需要进行比较,并定义变量记录每次比较后较大的值。

  2. 对数组中的元素进行遍历取出,和变量中记录的元素进行比较。

如果遍历到的元素大于变量中记录的元素,就用变量记录住该打的值。

   3.遍历结果,该变量记录就是最大值。


定义一个功能来实现。

明确一:这个功能的结果是什么?

是数组中的元素。int

明确二:这个功能实现过程中是否需要未知内容参与运算?

数组。


例:

class  DemoCtil2{

        public static void main(String[] args){

            int[]  arr={34,19,11,109,3,56};

            int  max=getmax(arr);

                System.out.println("max="+max);

        }

        public static int  getMax(int[] arr) {

            int  maxElement=arr[0];//定义变量记录最大的值

             for(int  x=1;x<arr.length;x++){

                    if(arr[x]>maxElement])

                             maxElement=arr[x];

                    }

               return  maxElement;  

         }

}



class DemoCtil3{

        public static void main(String[] args){

                int[]  arr={34,19,11,109,3,56};

                int  max=getMax_2(arr);

                        System.out.println("max="+max);

        }

        public static int  getMax_2(int[] arr){

                int maxIndex=0;

                for(int  x=1;x<arr.length;x++){

                    if(arr[x]>arr[maxIndex])

                            maxIndex=x;

                }

                return  arr[maxIndex];

          }

}注:两种方式


                                                    数组常见操作——选择排序

选择排序:

class  DemoCtil4{

         //注:遍历数组的功能

       public static void PrintArray(int[] arr){

               System.out.print("[");

                for(int x=0;x<arr.length;x++){

                    if(x!=arr.length-1)

                             System.out.print(arr[x]+"x ");//注:这了有个空格键

                     else

                              System.out.println(arr[x]+"]");

                }

        } //调用区

        public static void main(String[] args){

                int[]  arr={34,19,11,109,3,56};

                PrintArray(arr);

                selectSort(arr);

                PrintArray(arr);

         }  //第三方变量的功能

         public static void swap(int[] arr,int  a,int  b){

                int  temp=arr[a];

                 arr[a]=arr[b];

                 arr[b]=temp;

         }  //选择排序

         public static void selectSort(int[] arr){

                 for(int  x=0;x<arr.length-1;x++){

                        for(int y=x+1;y<arr.length;y++){

                                if(arr[x]>arr[y]){

                                         swap(arr,x,y);         

                                }

                         }

                  }

        }

}



                                                    数组常见操作——冒泡排序

冒泡排序:


class  DemoCtil5{

       //遍历数组的功能

       public static void PrintArray(int[] arr){

                System.out.print("[");

                for(int  x=0;x<arr.length;x++){

                        if(x!=arr.length-1)

                                System.out.printl(arr[x]+", ");//这里有空格键

                         else

                                 System.out.prin(arr[x]+"]");

                }

        }//第三方变量功能

        public static void swap(int[] arr,int  a,int   b){

                int  temp=arr[a];

                 arr[a]=arr[b];

                 arr[b]=temp;

        }//调用区

        public static void main(String[] args){

                int[]  arr={34,19,11,109,3,56}

                

                PrintArray(arr);

                bubbleSort(arr);

                PrintArray(arr);

        }//冒泡排序

        public static void bubbleSort(int[] arr){

                 for(int  x=0;x<arr.length-1;x++){

                        for(int  y=0;y<arr.length-1-x;y++){

                                if(arr[y]<arr[y+1])

                                 swap(arr,y,y+1);

                         }

                  }

        }

}

注:内循环

        -1:位避免角标越界。

        -x:为了让外循环增加一次,内循环参数比较的元素个数递减。


 

                                                                排序性能问题                            

class  DemoCtil6{   //遍历数组的功能

        public static void main(String[] args){

                System.out.print("[");

                for(int  x=0;x<arr.length;x++){

                        if(x!=arr.length-1)

                                System.out.print(arr[x]+",  ");//这里有一个空格键

                         else

                                 System.out.printl(arr[x]+"]");

                }

        }   //调用区

        public static void main(String[] args){

                int[]  arr={34,19,11,109,3,56};

                PrintArray(arr);

                selectSort_2(arr);

                printArray(arr);

        }      //第三方变量的功能

        public static void  swap(int[] arr,int  a,int  b){

                int  temp=arr[a];

                arr[a]=arr[b];

                arr[b]=temp;

        }

        public static void selectSort_2(int[] arr){

                for(int  x=0;x<arr.length-1;x++){

                        int   num=arr[x];

                        int  index=x;

                        for(int  y=x+1;y<arr.length;y++){

                                if(num>arr[y]){

                                        num=arr[y];

                                        index=y;

                                }

                        }

                         if(index!=x)

                          sawp(arr,x,index);

                 }

        }

}


                                                                数组_——格式

格式一:

元素类型[]   数组名  =  new    元素类型[]{元素,元素,……};

int       []      arr     =     new     int[]{89,34,270,17};

常规的初始化值

int[]   arr={89,34,270,17};

静态的初始化值


什么时候用哪一种格式?

格式一:

需要一个容器,但是不明确容器的具体数据。

int[]  arr=new  int[3];


格式二:

需要一个容器,存储已知的具体数据。

int[]  arr=new int[]{89,34,270,17};


                                        

                                                    数组——常见的操作-遍历

对数组操作最基本的动作就是存和取。

核心思想:就是角标的操作。

class  DemoCtil{

        public static void main(String[] args){

            int[]  arr ={89,34,270,17};

            System.out.println("length:"+arr.length);

            for(int   x=0;x<arr.length;x++){

                 System.out.println("arr["+x+"]="+arr[x]+",");

                }

        }

}注:这个是正向遍历


class DemoCtil_1{

        public static void main(String[] args){

            int arr={89,34,270,17};

            for(int x =arr.length;x>=0;x--){

                System.out.println("arr["+x+"]="+arr[x]+",")

                }

        }

}注:这个是反向遍历


注:arr.length的意思是arr的长度

这个是查询数组里面的个数System.out.println("length:"+arr.length);



                                                    数组的常见操作

  1. 获取最值(最大值,最小值)

  2. 排序(选择排序,冒泡排序)

  3. 折半查找(二分查找)


1,获取最值:

获取数组中的最大值。

思路:

  1. 需要进行比较,并定义变量记录每次比较后较大的值。

  2. 对数组中的元素进行遍历取出,和变量中记录的元素进行比较。

如果遍历到的元素大于变量中记录的元素,就用变量记录住该打的值。

   3.遍历结果,该变量记录就是最大值。


定义一个功能来实现。

明确一:这个功能的结果是什么?

是数组中的元素。int

明确二:这个功能实现过程中是否需要未知内容参与运算?

数组。


例:

class  DemoCtil2{

        public static void main(String[] args){

            int[]  arr={34,19,11,109,3,56};

            int  max=getmax(arr);

                System.out.println("max="+max);

        }

        public static int  getMax(int[] arr) {

            int  maxElement=arr[0];//定义变量记录最大的值

             for(int  x=1;x<arr.length;x++){

                    if(arr[x]>maxElement])

                             maxElement=arr[x];

                    }

               return  maxElement;  

         }

}



class DemoCtil3{

        public static void main(String[] args){

                int[]  arr={34,19,11,109,3,56};

                int  max=getMax_2(arr);

                        System.out.println("max="+max);

        }

        public static int  getMax_2(int[] arr){

                int maxIndex=0;

                for(int  x=1;x<arr.length;x++){

                    if(arr[x]>arr[maxIndex])

                            maxIndex=x;

                }

                return  arr[maxIndex];

          }

}注:两种方式


                                                    数组常见操作——选择排序

选择排序:

class  DemoCtil4{

         //注:遍历数组的功能

       public static void PrintArray(int[] arr){

               System.out.print("[");

                for(int x=0;x<arr.length;x++){

                    if(x!=arr.length-1)

                             System.out.print(arr[x]+"x ");//注:这了有个空格键

                     else

                              System.out.println(arr[x]+"]");

                }

        } //调用区

        public static void main(String[] args){

                int[]  arr={34,19,11,109,3,56};

                PrintArray(arr);

                selectSort(arr);

                PrintArray(arr);

         }  //第三方变量的功能

         public static void swap(int[] arr,int  a,int  b){

                int  temp=arr[a];

                 arr[a]=arr[b];

                 arr[b]=temp;

         }  //选择排序

         public static void selectSort(int[] arr){

                 for(int  x=0;x<arr.length-1;x++){

                        for(int y=x+1;y<arr.length;y++){

                                if(arr[x]>arr[y]){

                                         swap(arr,x,y);         

                                }

                         }

                  }

        }

}



                                                    数组常见操作——冒泡排序

冒泡排序:


class  DemoCtil5{

       //遍历数组的功能

       public static void PrintArray(int[] arr){

                System.out.print("[");

                for(int  x=0;x<arr.length;x++){

                        if(x!=arr.length-1)

                                System.out.printl(arr[x]+", ");//这里有空格键

                         else

                                 System.out.prin(arr[x]+"]");

                }

        }//第三方变量功能

        public static void swap(int[] arr,int  a,int   b){

                int  temp=arr[a];

                 arr[a]=arr[b];

                 arr[b]=temp;

        }//调用区

        public static void main(String[] args){

                int[]  arr={34,19,11,109,3,56}

                

                PrintArray(arr);

                bubbleSort(arr);

                PrintArray(arr);

        }//冒泡排序

        public static void bubbleSort(int[] arr){

                 for(int  x=0;x<arr.length-1;x++){

                        for(int  y=0;y<arr.length-1-x;y++){

                                if(arr[y]<arr[y+1])

                                 swap(arr,y,y+1);

                         }

                  }

        }

}

注:内循环

        -1:位避免角标越界。

        -x:为了让外循环增加一次,内循环参数比较的元素个数递减。


 

                                                                排序性能问题                            

class  DemoCtil6{   //遍历数组的功能

        public static void main(String[] args){

                System.out.print("[");

                for(int  x=0;x<arr.length;x++){

                        if(x!=arr.length-1)

                                System.out.print(arr[x]+",  ");//这里有一个空格键

                         else

                                 System.out.printl(arr[x]+"]");

                }

        }   //调用区

        public static void main(String[] args){

                int[]  arr={34,19,11,109,3,56};

                PrintArray(arr);

                selectSort_2(arr);

                printArray(arr);

        }      //第三方变量的功能

        public static void  swap(int[] arr,int  a,int  b){

                int  temp=arr[a];

                arr[a]=arr[b];

                arr[b]=temp;

        }

        public static void selectSort_2(int[] arr){

                for(int  x=0;x<arr.length-1;x++){

                        int   num=arr[x];

                        int  index=x;

                        for(int  y=x+1;y<arr.length;y++){

                                if(num>arr[y]){

                                        num=arr[y];

                                        index=y;

                                }

                        }

                         if(index!=x)

                          sawp(arr,x,index);

                 }

        }

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值