C#实现哈希查找算法
下面是一个简单的C#代码示例,实现了哈希查找算法:
using System;
using System.Collections.Generic;
class HashSearch
{
// 哈希查找函数
static int HashSearchFunction(int[] array, int target)
{
// 创建一个Dictionary用于存储数组元素及其对应的索引
Dictionary<int, int> map = new Dictionary<int, int>();
// 遍历数组,将元素及其索引放入Dictionary中
for (int i = 0; i < array.Length; i++)
{
map[array[i]] = i;
}
// 查找目标值是否在Dictionary中存在
if (map.ContainsKey(target))
{
// 如果存在,返回目标值在数组中的索引
return map[target];
}
else
{
// 如果不存在,返回-1表示未找到
return -1;
}
}
static void Main(string[] args)
{
int[] array = { 4, 7, 2, 9, 1, 5, 8, 3, 6 };
int target = 5;
int index = HashSearchFunction(array, target);
if (index != -1)
{
Console.WriteLine("目标值 " + target + " 在数组中的索引为: " + index);
}
else
{
Console.WriteLine("未找到目标值 " + target);
}
}
}
编辑
在这个示例中,我们使用了Dictionary来实现哈希查找算法。首先,我们遍历数组,将数组元素作为键,元素在数组中的索引作为值,存储在Dictionary中。然后,我们可以通过目标值在Dictionary中查找其索引,如果存在则返回索引,否则返回-1表示未找到。