首页 > 其他 > 详细

Search

时间:2019-10-04 17:19:04      阅读:93      评论:0      收藏:0      [点我收藏+]

顺序查找

typedef struct {
	KeyType key;
	InfoType data;
}RecType;

  

int SeqSearch(RecType R[], int n, KeyType k)
{
	int i = 0;
	while (i < n && R[i].key != k)
		i++;
	if (i >= n)
		return 0;
	else
		return i + 1;
}

  设置哨兵,防止访问越界

int SeqSearch1(RecType R[], int n, KeyType k)
{
	int i = 0;
	R[n].key = k;
	while (R[i].key != k)
		i++;
	if (i == n)
		return 0;
	else
		return i + 1;
}

  折半查找

int BinSearch(RecType R[], int n, KeyType k)
{
	int low = 0, high = n - 1, mid;
	while (low <= high)
	{
		mid = (low + high) / 2;
		if (R[mid].key == k)
			return mid + 1;
		else if (R[mid].key < k)
			low = mid + 1;
		else 
			high = mid - 1;
	}
	return 0;
}

  

Search

原文:https://www.cnblogs.com/KIROsola/p/11622402.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!