查找算法-顺序查找(顺序表的普通实现和优化实现)

普通实现:

unsigned int SeqSearch(int *pArray, int arraySize, int value)
{
	if (pArray != NULL && arraySize > 0)
	{
		for (int i = 0; i < arraySize; i++)
		{
			if (pArray[i] == value)
				return i;
		}
		return -1; // 给定内存中不存在 value
	}
	return -2; // 给定内存或查找范围无效
}

高效实现:
unsigned int SeqSearchPlus(int *pArray, int arraySize, int value)
{
	if (pArray != NULL && arraySize > 0)
	{
		pArray[arraySize] = value; // 确保不会越界才可以使用
		int i = 0;
		while (pArray[i] != value)
			++i;
		if (i == arraySize)
			return -1;
		else
			return i;
	}
	return -2; // 给定内存或查找范围无效
}


你可能感兴趣的:(查找算法-顺序查找(顺序表的普通实现和优化实现))