java 数组

来源:互联网 发布:打印机usb端口设置 编辑:程序博客网 时间:2024/06/02 20:38

2.8. 数组

       

2.8.1 数组的定义

        

 

2.8.2         内存结构

            

2.8.

     1、获取数组中的元素,通常会用到遍历。

           Length. 可以直接获取到数组元素个数。

               使用方法:数组名称.length =

         例: int[] arr = { 3,4,5,6,7,8}  

              For (int x = 0 ;  x<arr.length);

              {

                    System.out.println( “arr [ ” + x+ “;”)

}

      

          常见操作:

例题1、获取数组中的最大值

            ① Public static int getmax ( int [ ] arr )

              {

                    In t max = arr [0]

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

                    {

                            If ( max < arr [ x ] )

                                  Max = arr [ x ]

}

Return max;

}

 

Public static viod main ( string [ ]  args)

{

        Int [ ]   arr  = ( 5, 1, 3, 7, 8, 4);

        Int max = getmaxarr;

        System.out.println ( “max=”+max);

}

            

 ②Public static int getmax ( int [ ] arr )

              {

                    In t max =  0

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

                    {

                            If ( arr[max] < arr [ x ] )

                                  Max = x

}

Return arr[max];

}

 

Public static viod main ( string [ ]  args)

{

        Int [ ]   arr  = ( 5, 1, 3, 7, 8, 4);

        Int arr(max) = getmaxarr;

        System.out.println ( “arr(max)”+ arr(max));

}

 

            例题2、选择排序:

                   Class  Arraytest2

                    {

                         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])

{

   Int temp = arr [x] ;

   Arr[x] =arr [y] ;

   Arr [ y ] = temp ;

}

}

}

}

}

Public static void  main (string[ ] args)

{

    Int [ ]  arr = { 3,5,6,8,9,2,1};

    pringtArray(arr);

    selectsort ( arr )

    printArray( arr);

}

              

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] + “,”)

   Else

      System.out.println ( arr [x] + “]”)

}

}

 

     例题3、冒泡排序:相邻的两个元素进行比较,如果符合条件换位

                          Class  Arraytest2

                    {

                         Public static void bubblesort ( int [ ] arr)

                         {<

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

                              {

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

                                   {

                                        If ( arr[y] >arr[y+1])

{

   Int temp = arr [y ];

   Arr[y] =arr [y+1] ;

   Arr [ y+1 ] = temp ;

}

}

}

}

}

Public static void  main (string[ ] args)

{

    Int [ ]  arr = { 3,5,6,8,9,2,1};

    pringtArray(arr);

bubblesort ( arr )

    printArray( arr);

}

              

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] + “,”)

   Else

      System.out.println ( arr [x] + “]”)

}

}

}

 

     4、折半查找:

       Class  Arraytest4

       {  

Public static viod main ( string [ ]  args )

          { 

Int [ ]  arr = { 1,3,5,6,8,9,56,89};

            Int index = halfsearvch ( arr , 56);

            System.out.println ( “index=” + index);

           }

}

Public static int halfsearch ( int [ ]  arr ,int key)

{

    Int min , max , mid ;

    Min = 0 ;

    Max = arr . length – 1;

    Mid = ( max + min ) / 2;

 

   While ( arr [ mid] ! = key)

   {

       If ( key > arr [ mid ])

            Min = mid +1 ;

       Else if ( key < arr [mid])

            Max = mid – 1 ;

       If  ( min > max )

          Return – 1;

       Mid = ( max +min ) / 2

}

Return  mid ;

}

 

练习1、十进制——>二进制

       Class Arraytest5

       {

           Public static viod main ( string [ ]  args)

           {

                Tobin (8)

}

Public static viod tobin ( int  num )

{

    Tringbuffer  sb = new stingbuffer () ;

  

    While ( num > 0 )

     {

          Sb . append ( num % 2 ) ;

          Num = num / 2 ;

}

System . out . println ( sb . reverse ( ));

}

}

     

 

2.8.5 数组中的数组

             

     

 

 

 

0 0