zoukankan      html  css  js  c++  java
  • 冒泡排序算法与选择排序算法

      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;
  • 相关阅读:
    MFC中CTREECTRL的checkbox问题
    GLOG的使用说明
    安装Electron
    WIN32中DLL的建立
    MFC动态创建菜单
    C++迭代器
    VIM常用命令
    层次遍历二叉树
    sql存储过程中加引号
    Apache Tomcat 绿色版安装Service(服务)
  • 原文地址:https://www.cnblogs.com/fuck1/p/5347611.html
Copyright © 2011-2022 走看看