学完Java基础篇,自己写个二分查找算法
来源:互联网 发布:ghost squad 知乎 编辑:程序博客网 时间:2024/06/05 02:02
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
看完了毕老师的Java基础篇,照着视频上讲的自己也尝试的写了几个小程序,数组的遍历,排序,二分查找,进制转换,获取最大值,发现自己写代码也是很享受的过程,分析算法,修改代码,感觉非常美妙,写完每个函数之后看到运行结果,心里都美美的,我真的开始成为Java的一员了吗,;把几个小程序都写好后,我就开始在main函数里面调用,运行了好几次之后,我就有了自己的想法,想改改代码,或许可以更高效,比如冒泡排序的问题,为了能记录查找次数,在函数体内定义一个变量count;因为毕老师讲的程序只用a[mid]与key比较,如果要查找的值刚好在min或max,效率就会有点低,所以我在每次循环之前都先与两边比较,定义变量temp=-1;key与谁相等就把谁的角标付给temp,找不到就不改变temp值,循环结束后打印temp及循环次数;
代码如下:
public static void binsort(int[] arr,int key){
int min = 0,max = arr.length-1,mid,count = 0,temp = -1;
while(min<max){
++count;
mid = (min+max)/2;
if(arr[min]==key){temp = min;break;}
if(arr[max]==key){temp = max;break;}
if(arr[mid]==key){temp = mid;break;}
else if(arr[mid]>key){max = mid;}
else if(arr[mid]<key){min = mid+1;}
}
System.out.println(count+":"+temp);
}
虽然对于Java高手来说以上这些不过是Java最基本的知识,但我觉得最起码我已进入Java的大门;Java与之前学的C有很大不同, 所有的程序都要写在类里面,面向对象使复杂的问题简单化,代码也更容易阅读;但这只是一个小小的开始,为了梦想,我要坚守在这个战场;
----------------------- android培训、java培训、java学习型技术博客、期待与您交流! ----------------------
详情请查看:
- 学完Java基础篇,自己写个二分查找算法
- java算法基础--二分查找
- JDK自带的二分查找算法和自己写的普通二分查找算法的比较(java二分查找源代码)
- 基础算法 二分查找
- 【算法基础】二分查找
- 二分查找--基础算法
- 【算法基础】二分查找
- 基础算法-二分查找
- Java基础---二分查找
- java 二分查找算法
- java 二分查找算法
- Java二分查找算法
- java 二分查找算法
- 二分查找算法(Java)
- Java-二分查找算法
- Java二分查找算法
- Java-二分查找算法
- 二分查找算法-java
- 搭建Eclipse PHP开发环境
- java初学者必看——J2SE小结
- Python进阶_7.Eclipse + PyDey
- java生涯起步。。。
- windows 下的ADO 连接
- 学完Java基础篇,自己写个二分查找算法
- 十六进制转SAC编码
- 修改CMD窗口 使其翻阅之前的内容
- delphi7读取ini配置连接oracle10G
- ireport 多行 自适应
- Activity 布局
- debug下情况良好、release下频繁奔溃问题的跟踪与解析
- 第五实验报告3
- 线程范围内共享变量的概念与作用