黑马程序员技术交流社区

标题: 最值,选择,冒泡小结 [打印本页]

作者: 李前进    时间: 2014-3-26 01:52
标题: 最值,选择,冒泡小结
  1. class ArrayToolTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int[]arr={3,5,6,7,1,9,12};

  6.                 //求最大值
  7.                 int max=ArrayTool.getMax(arr);

  8.                 //求最小值
  9.                 int min=ArrayTool.getMin(arr);

  10.                 //输出原数组
  11.                 System.out.print("原数组为:");
  12.                 ArrayTool.printArray(arr);

  13.                 //选择排序
  14.                 ArrayTool.selectSort(arr);
  15.                 System.out.print("\n选择排序结果为:");
  16.                 ArrayTool.printArray(arr);

  17.                 //冒泡排序
  18.                 ArrayTool.bubbleSort(arr);
  19.                 System.out.print("\n冒泡排序结果为:");
  20.                 ArrayTool.printArray(arr);

  21.                 //输出结果
  22.                 System.out.println("\nmax="+max+"\nmin="+min);
  23.         }
  24. }


  25. class ArrayTool
  26. {
  27.         private ArrayTool(){}

  28.         //求最大值
  29.         public static int getMax(int[] arr)
  30.         {
  31.                 int max=0;
  32.                 for(int x=1;x<arr.length;x++)
  33.                 {
  34.                         if(arr[x]>arr[max])
  35.                                 max=x;
  36.                 }
  37.                 return arr[max];
  38.         }

  39.         //求最小值
  40.         public static int getMin(int[] arr)
  41.         {
  42.                 int min=0;
  43.                 for(int x=1;x<arr.length;x++)
  44.                 {
  45.                         if(arr[x]<arr[min])
  46.                                 min=x;
  47.                 }
  48.                 return arr[min];
  49.         }

  50.         //选择排序
  51.         public static void selectSort(int[] arr)
  52.         {
  53.                 for(int x=0;x<arr.length-1;x++)
  54.                 {
  55.                         for(int y=x+1;y<arr.length;y++)
  56.                         {
  57.                                 if(arr[x]>arr[y])
  58.                                 swap(arr,x,y);
  59.                         }
  60.                 }
  61.         }


  62.         //冒泡排序
  63.         public static void bubbleSort(int[] arr)
  64.         {
  65.                 for(int x=0;x<arr.length-1;x++)
  66.                 {
  67.                         for(int y=0;y<arr.length-x-1;y++)
  68.                         {
  69.                                 if(arr[y]>arr[y+1])
  70.                                 swap(arr,y,y+1);
  71.                         }
  72.                 }
  73.         }


  74.         //换位置
  75.         private static void swap(int[] arr,int a,int b)
  76.         {
  77.                 int temp=arr[a];
  78.                 arr[a]=arr[b];
  79.                 arr[b]=temp;
  80.         }

  81.         //美化输出格式
  82.         public static void printArray(int[] arr)
  83.         {
  84.                 System.out.print("[");
  85.                 for(int x=0;x<arr.length;x++)
  86.                 {
  87.                     if(x!=arr.length-1)
  88.                                     System.out.print(arr[x]+",");
  89.                                 else
  90.                                         System.out.print(arr[x]+"]");
  91.                        
  92.                 }
  93.         }




  94. }
复制代码





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