zoukankan      html  css  js  c++  java
  • Java Day 05

    数组第二种定义
     
    数组-遍历
     数组操作的核心思想就是对角标的操作;
     
    数组-求最值
     1、循环 比较

    排序
     选择排序 把原始数组分割成了两个数组,至少有一个是有序的
     冒泡排序 相邻元素比较

    位置置换代码提取
     形参

    排序性能问题
     选择排序,每一轮找到最小值后才换位

    查找
     遍历去比较要查找的值,没有返回-1

    折半查找(二分查找)
     前提条件:数组内元素唯一,且有序
     循环 判断条件有:中间值判断;首尾判断
     "/2" 相对与 ">>1"

     如果查找的元素不存在,直接返回插入点(-插入点-1)

     1     public static int binarySearch(int[]arr,int key){
     2         int start = 0;
     3         int end = arr.length-1;
     4         int mid = (start+end)/2;
     5         while(end>start){
     6             if(key==arr[mid]){
     7                 return mid;
     8             }
     9             else if(key>arr[mid]){
    10                     start = mid+1;
    11             }else{
    12                     end=mid-1;    
    13             }
    14             mid = (start + end)/2;
    15         }
    16         return -1;
    17     }

    进制转换
     转换为16进制--与运算 &15、无符号右移 >>>4
     (char)temp-10+'A'

     使用数组--查表法

     1     public static String trans(int num,int base,int offset){
     2         char[] chs ={'0','1','2','3',
     3                     '4','5','6','7',
     4                     '8','9','A','B',
     5                     'C','D','E','F'};
     6         String ss="";
     7         while(true){
     8             int temp = num & base;
     9             ss= chs[temp]+ss;
    10             num = num >>> offset;
    11             if(num==0)
    12                 return ss;
    13         }
    14     }


     Integer.toBinaryString()

  • 相关阅读:
    浅谈flume
    浅谈storm
    浅谈zookeeper
    IntelliJ IDEA 使用教程
    浅谈spark
    添加本地jar包到maven仓库
    eclipse通过maven进行打编译
    pom.xml中添加远程仓库
    maven编译错误maven-assembly-plugin:2.2-beta-5:assembly (default-cli) on project
    最长上升子序列
  • 原文地址:https://www.cnblogs.com/zhuzhuqwa/p/5862253.html
Copyright © 2011-2022 走看看