冒泡排序算法与选择排序算法

  1 数组高级以及Arrays(掌握)
  2     (1)排序
  3         A:冒泡排序
  4             相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处。同理,其他的元素就可以排好。
  5             
  6             public static void bubbleSort(int[] arr) {
  7                 for(int x=0; x<arr.length-1; x++) {
  8                     for(int y=0; y<arr.length-1-x; y++) {
  9                         if(arr[y] > arr[y+1]) {
 10                             int temp = arr[y];
 11                             arr[y] = arr[y+1];
 12                             arr[y+1] = temp;
 13                         }
 14                     }
 15                 }
 16             }
 17             
 18         B:选择排序
 19             把0索引的元素,和索引1以后的元素都进行比较,第一次完毕,最小值出现在了0索引。同理,其他的元素就可以排好。
 20             
 21             public static void selectSort(int[] arr) {
 22                 for(int x=0; x<arr.length-1; x++) {
 23                     for(int y=x+1; y<arr.length; y++) {
 24                         if(arr[y] < arr[x]) {
 25                             int temp = arr[x];
 26                             arr[x] = arr[y];
 27                             arr[y] = temp;
 28                         }
 29                     }
 30                 }
 31             }
 32     (2)查找
 33         A:基本查找
 34             针对数组无序的情况
 35             
 36             public static int getIndex(int[] arr,int value) {
 37                 int index = -1;
 38                 
 39                 for(int x=0; x<arr.length; x++) {
 40                     if(arr[x] == value) {
 41                         index = x;
 42                         break;
 43                     }
 44                 }
 45                 
 46                 return index;
 47             }
 48         B:二分查找(折半查找)
 49             针对数组有序的情况(千万不要先排序,在查找)
 50             
 51             public static int binarySearch(int[] arr,int value) {
 52                 int min = 0;
 53                 int max = arr.length-1;
 54                 int mid = (min+max)/2;
 55                 
 56                 while(arr[mid] != value) {
 57                     if(arr[mid] > value) {
 58                         max = mid - 1;
 59                     }else if(arr[mid] < value) {
 60                         min = mid + 1;
 61                     }
 62                     
 63                     if(min > max) {
 64                         return -1;
 65                     }
 66                     
 67                     mid = (min+max)/2;
 68                 }
 69                 
 70                 return mid;
 71             }
 72     (3)Arrays工具类
 73         A:是针对数组进行操作的工具类。包括排序和查找等功能。
 74         B:要掌握的方法(自己补齐方法)
 75             把数组转成字符串:
 76             排序:
 77             二分查找:
 78     (4)Arrays工具类的源码解析
 79     (5)把字符串中的字符进行排序
 80         举例:
 81             "edacbgf"
 82             得到结果
 83             "abcdefg"
 84 
 85 3:Integer(掌握)
 86     (1)为了让基本类型的数据进行更多的操作,Java就为每种基本类型提供了对应的包装类类型
 87         byte         Byte
 88         short        Short
 89         int            Integer
 90         long        Long
 91         float        Float
 92         double        Double
 93         char        Character
 94         boolean        Boolean
 95     (2)Integer的构造方法
 96         A:Integer i = new Integer(100);
 97         B:Integer i = new Integer("100");
 98             注意:这里的字符串必须是由数字字符组成
 99     (3)String和int的相互转换
100         A:String -- int
101             Integer.parseInt("100");
102         B:int -- String
103             String.valueOf(100);
104     (4)其他的功能
105         进制转换
106     (5)JDK5的新特性
107         自动装箱    基本类型--引用类型
108         自动拆箱    引用类型--基本类型
109         
110         把下面的这个代码理解即可:
111             Integer i = 100;
112             i += 200;
原文地址:https://www.cnblogs.com/fuck1/p/5347611.html