首页 > 代码库 > Java Day 05
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()
Java Day 05
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。