📄 class1.cs
字号:
using System;
using System.Collections;
namespace Hashtable_Create
{
/// <summary>
/// Hashtable示例:构造一个哈西表
/// 哈西函数:key = value % 13
/// </summary>
class MyHashtable
{
public Hashtable htResult=new Hashtable(); //所构造的哈西表
/// <summary>
/// 向哈西表中添加一个新的元素
/// </summary>
/// <param name="_intNewItem">所要添加的元素</param>
public void AddItem(int _intNewItem)
{
//定义变量
int pkey=_intNewItem % 13;
int i=0;
//线性散列,寻找合适散列位置
while(this.htResult.Contains(pkey) && i<13)
{
pkey=pkey+1%13;
i++;
}
//添加元素
if(i<13)
this.htResult.Add(pkey,_intNewItem);
else
Console.WriteLine("哈西表溢出。");
}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//实例化MyHashtable对象
MyHashtable myht=new MyHashtable();
int pValue=0;
Console.WriteLine("输入10个整数值:");
//利用MyHashtable的AddItem循环添加数据
for(int i=0;i<10;i++)
{
pValue=Convert.ToInt32(Console.ReadLine());
myht.AddItem(pValue);
}
//利用foreach语句和DictionaryEntry结构,输出哈西表
foreach(System.Collections.DictionaryEntry pair in myht.htResult)
{
Console.WriteLine("{0}->{1}",pair.Key,pair.Value);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -