public int find(int[] abc, int t) {
int begin = 0; // 初始化查找区域
int end = abc.length - 1; // 初始化查找区域
while (begin <= end) {
int curr = (begin + end) / 2;
if (abc[curr] == t) {
return curr; //查找成功返回当前位置
} else if (abc[curr] < t) {
begin = curr + 1;
} else if (t < abc[curr]) {
end = curr - 1;
}
}
return -1; // 返回查找失败的标志
}
加一个递归的
public int findRecursion(int[] abc, int t) {
return findRecursion(abc, t, 0, abc.length - 1);
}
private int findRecursion(int[] abc, int t, int begin, int end) {
if (begin > end) {
return -1;
}
int curr = (begin + end) / 2;
if (abc[curr] == t) {
return curr;
} else if (abc[curr] < t) {
return findRecursion(abc, t, curr + 1, end);
} else {
return findRecursion(abc, t, begin, curr - 1);
}
}
笔试的时候写的很错,面试中被拿出来说了一说,给我找出来不少的错误,才发现自己真的太粗心了,居然直接用小于号直接比较两个String的大小,而且连折半的思路也搞错了,数据结构本来学的不好,更要复习一下了。
而且我太依赖ide了,拿起笔来只能想到思路,写出的程序确实是不敢恭维,以后注意
来北京快一周了,找工作中,加油
分享到:
相关推荐
折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)
折半查找的递归算法,非常实用,可以实现的C语言程序
本程序共包含2个查找程序,分别是顺序查找和折半查找。
java写的折半查找法,使用间的循环语句,但是逻辑可能不够简洁,希望互相学习!
数据结构习题---折半查找代码 void BinInsert(int A[],int &n,int item) ...j--) /* 相关元素依次后移一个位置*/ A[j+1]=A[j]; A[low]=item; /* 将被插入元素item插入合适位置*/ n++; /* 表的长度加1 */ }
使用折半查找,输入一个整数,查找是否在数组中,如在给出下标,否则-1
折半查找是数据结构中,查找的其中一种。此资源不但包括折半查找的算法,还包括帮助其运行的其他代码,可直接运行以实现折半查找。注:输入数据时,要将数据从大到小依次输入,方可实现折半查找。
折半查找c语言函数, 在数组总查找 例子
数据结构折半查找,用于C语言版的数据结构。
在该程序中,实现了在10个元素中查找20,用了顺序查找方法和折半查找方法。
静态查找表。实现有序表的折半查找算法 静态查找表。实现有序表的折半查找算法 静态查找表。实现有序表的折半查找算法静态查找表。实现有序表的折半查找算法
折半查找算法在顺序表中插入一个元素讲解.pdf
主要为大家详细介绍了C语言实现顺序表的顺序查找和折半查找,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
折半查找是一种数据结构算法 非常有用 我们用C语言实现了查找 简单有效
数据结构中的折半查找程序,C语言描述,数据结构中的折半查找程序,C语言描述
基于《数据结构c语言版 》严蔚敏 自己写的顺序查找和折半查找
用C语言实现折半查找,折半查找算法较简单
会变课程设计 任意输入待比较的一组数据,排序,之后再输入需要查找的数,运行即可实现折半查找,界面友好
数据结构中的折半查找和插入排序(利用插入排序的方式对一组数进行排序),数组中的数需要自己输入,很简单的代码
二叉排序树 折半查找