java数组之与数组元素查找
1. 顺序查找
顺序查找是在一个已知无(或有序)序队列中找出与给定关键字相同的数的具体位置。
【算法原理】
让关键字与队列中的数从最后一个开始逐个比较,直到找出与给定关键字相同的数为止。
【算法描述】
public static int ordersearch(int[] arry,int des){
int i=0;
for(;i<=arry.length-1;i++){
if(des==arry[i])
return i;
}
return -1;
}
2. 二分查找
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好,占用系统内存较少;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
【算法原理】
假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。
【算法要求】
1)必须采用顺序存储结构。
2)必须按关键字大小有序排列。
【算法描述】
public static int binarySearch(Integer[] srcArray, int des) {
//定义起始下标,结束下标
int begin = 0;
int end= srcArray.length - 1;
//确保不会出现重复查找,越界
while (begin <= end) {
//计算出中间索引值
int middle = (begin + end)/2 ;//防止溢出
if (des == srcArray[middle]) {
return middle;
//判断下限
} else if (des < srcArray[middle]) {
end= middle - 1;
//判断上限
} else {
begin = middle + 1;
}
}
//若没有,则返回-1
return -1;
}
- 点赞
- 收藏
- 分享
- 文章举报
- Java数组元素查找 接收并打印一个未知长度的数组
- Java 旋转数组查找旋转点和任意元素(元素可重复)
- 黑马程序员 java基础 函数 数组 查找与排序总结
- java 数组比较,元素的比较,Comparable,Comparator比较的应用实现,排序,查找示例
- #数据结构与算法学习笔记#剑指Offer1:二维数组中的查找(JAVA)
- Java数组,去掉重复值、增加、删除数组元素
- 面试题:Java 实现查找旋转数组的最小数字
- 给定一个数组,求出数组元素的排列和组合——Java实现
- java 12:数组的搜索——线性查找及二分法查找
- Java数组,去掉重复值、增加、删除数组元素
- 由一数组建平衡二叉树 并查找 Java实现
- JAVA基础复习十三-StringBuffer、数组排序、二分查找、自动拆装箱
- 在JavaScript的数组中进行数组元素查找和替换(JS的indexOf等)
- 黑马程序员_java数组排序、查找、置换
- java数组排序,查找与置换
- 【Java】数组二分查找元素
- 数据结构(java)_数组顺序查找
- JAVA--数组元素查找方法
- 【Core Java Volume 5】集合算法---查找数组、集合最大值的通用方法