黑马程序员技术交流社区

标题: 整型数组的基本几个操作 代码 [打印本页]

作者: fmi110    时间: 2015-7-5 23:07
标题: 整型数组的基本几个操作 代码
数组
  1. /*数组*/
  2. class ArrayDemo
  3. {
  4.         public static void main(String[] args)
  5.         {
  6. //                int[] x = new int[3];
  7. //                //静态初始化方式
  8.                 int[] arr = new int[]{3,1,6,5,4};
  9. //                int[] arr = {3,2,1,3};

  10.                 System.out.println("数组:");
  11.                 printArr(arr);
  12.                 System.out.println("数组的length="+arr.length);
  13.                 System.out.println("方法1 数组的max="+getMax(arr));
  14.                 System.out.println("方法2 数组的max="+getMax2(arr));
  15.                 arrSort(arr);
  16.                 System.out.println("排序后的数组:");
  17.                 printArr(arr);
  18.         }

  19. /****************获取数组的最大元素****************/
  20.         public static int getMax(int[] arr)
  21.         {
  22.                 int max = arr[0];

  23.                 for(int i=0 ; i < arr.length ; i++)
  24.                 {
  25.                         max = (max > arr[i]? max : arr[i]);
  26.                 }

  27.                 return max;
  28.         }
  29. //////////////////////////////////////////////////////
  30.         public static int getMax2(int[] arr)
  31.         {
  32.                 int max = 0;

  33.                 for(int i=0 ; i < arr.length ; i++)
  34.                 {
  35.                         max = (arr[max] > arr[i]? max : i);
  36.                 }

  37.                 return arr[max];
  38.         }
  39. /***************输出数组元素************************/
  40.         public static void printArr(int[] arr)
  41.         {
  42.                 for(int i = 0; i < arr.length ; i++ )
  43.                 {
  44.                         if(i==arr.length-1)
  45.                                 System.out.println(arr[i]);
  46.                         else
  47.                                 System.out.print(arr[i] + " , ");
  48.                 }
  49.         }
  50. /***************数组元素排序************************/
  51.         public static void arrSort(int[] arr)
  52.         {
  53.                 int k;
  54.                 for(int i=0 ; i < arr.length-1 ; i++)
  55.                 {
  56.                         k = i;
  57.                         for(int j=i+1 ; j < arr.length ; j++)
  58.                         {
  59.                         //        k = arr[k]>arr[j]?k:j ;    //降序排列
  60.                                 k = arr[k]<arr[j]?k:j ;    //升序
  61.                         }
  62.                         if(k!=i)
  63.                         {
  64.                         /*        temp = arr[i] ;
  65.                                 arr[i] = arr[k];
  66.                                 arr[k] = temp;
  67.                         */
  68.                                 swap(arr,k,i);
  69.                         }
  70.                 }
  71.         }
  72. /****************元素交换************************/
  73.         public static void swap(int[] arr,int k,int i)
  74.         {
  75.                 int temp;
  76.                 temp = arr[i] ;
  77.                 arr[i] = arr[k];
  78.                 arr[k] = temp;
  79.         }
  80. }
复制代码



作者: 秀丽xl    时间: 2015-7-5 23:24
这个给力!赞~\(≧▽≦)/~
作者: mls123456    时间: 2015-7-6 00:53
受教了,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
作者: 杨基米德    时间: 2015-7-6 06:51
谢谢楼主分享~
作者: muzili    时间: 2015-7-6 10:25
有学习了
作者: icichacici    时间: 2015-7-6 10:33
学习了,谢谢楼主
作者: 耀阳圣尊    时间: 2015-7-6 10:35
楼主总结的不错。取最大值。其实你可以用sort排下序,取最后一个元素就行。
作者: fmi110    时间: 2015-7-6 10:45
耀阳圣尊 发表于 2015-7-6 10:35
楼主总结的不错。取最大值。其实你可以用sort排下序,取最后一个元素就行。 ...

谢谢指导,现在在看毕老师的基础视频,跟着视频走打代码
api文档几乎没看过,了解的函数很少:L
作者: 耀阳圣尊    时间: 2015-7-6 11:44
fmi110 发表于 2015-7-6 10:45
谢谢指导,现在在看毕老师的基础视频,跟着视频走打代码
api文档几乎没看过,了解的函数很少 ...

没事的。多多练习练习就好




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