查找算法:二分查找
前提:二分查找要求线性表中的记录必须按关键码有序
,并且必须采用顺序存储
。
步骤:
算法实现:在数组a中, 找到t所在的索引
public static int binarySearch(int[] a, int t) {// 定义左边界、右边界、中间索引int l = 0, r = a.length - 1, m;// 当左边边界和右边边界重叠时, 表示t不在数组中while (l <= r) {m = (l + r) / 2;if (a[m] == t) {// A[M] == T 表示找到,返回中间索引return m;} else if (a[m] > t) {// 中间值右侧的其它元素都大于t, 重新设置右边界r = m - 1;} else {// 中间值左侧的其它元素都大于t, 重新设置左边界l = m + 1;}}return -1;
}
上一篇:C语言例程:猜数字游戏
下一篇:02_qml_简介