《JAVA》浅谈——顺序查找、折半查找

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CallmeZhe/article/details/79456013

顺序查找

基本原理:依次遍历

public class Solution {

	public static int SequenceSearch(int[] sz, int key) {
		for (int i = 0; i < sz.length; i++) {
			if (sz[i] == key) {
				return i;
			}
		}
		return -1;
	}
}

折半查找

基本原理:每次查找都对半分,但要求数组是有序的

public class Solution {

	public static int BinarySearch(int[] sz,int key){
		int low = 0;
		int high = sz.length - 1;
		
		while (low <= high) {
			int middle = (low + high) / 2;
			if(sz[middle] == key){
				return middle;
			}else if(sz[middle] > key){
				high = middle - 1;
			}else {
				low = middle + 1;
			}
		}
		return -1;
	}
}

猜你喜欢

转载自blog.csdn.net/CallmeZhe/article/details/79456013