# 哈希表
namespace 哈希表
{
internal class Program
{
static void Main(string[] args)
{
//哈希表
Hashtable table = new Hashtable();
table.Add("name", "邓艳");
table.Add("id", 123);
//table["name"] = "规定";
//遍历哈希表
Console.WriteLine(table["name"]);
foreach(DictionaryEntry i in table)
{
Console.WriteLine(i.Key);
Console.WriteLine(i.Value);
}
//遍历键
foreach(var i in table.Keys)
{
Console.WriteLine(i);
}
//遍历值
foreach (var i in table.Values)
{
Console.WriteLine(i);
}
table.Remove("name");
Console.WriteLine(table.Contains("id"));
foreach (DictionaryEntry i in table)
{
Console.WriteLine(i.Key);
Console.WriteLine(i.Value);
}
}
}
}
# 链表
namespace 链表
{
//创建一个单链表
//创建一个节点类
public class LinkNode<T>
{
//每一个节点都有自己的节点 存着下一个节点的地址
public T value;//值
public LinkNode<T> nextnode;//下一个节点的地址
public LinkNode(T value)
{
this.value = value;
}
}
//创建一个类 这个帮我们创建新的节点,还有就是删除节点
public class LinkList<T>
{
//头节点
public LinkNode<T> Head;
//尾节点
public LinkNode<T> Last;
//添加节点的操作
public void Add(T value)
{
//先判断一下头节点是不是空 说明链表是空的 这时候插入的就是头节点和尾节点
if(Head==null)
{
LinkNode<T> node = new LinkNode<T>(value);//新一个节点
Head = node;
Last = node;
}
else//要是不是空 说明插入到尾节点之后
{
LinkNode<T> node = new LinkNode<T>(value);//新节点
Last.nextnode = node;
Last = node;//更新尾巴节点为当前插入的节点
}
}
public void Remove(T value)
{
}
}
internal class Program
{
static void Main(string[] args)
{
LinkList<int> list = new LinkList<int>();
//LinkNode<int> head = list.Head;
list.Add(3);
list.Add(34);
Console.WriteLine(list.Head.nextnode.value);
//判断是否存在
Console.WriteLine(list.Head.nextnode.value.Equals(5));
//遍历这个链表
LinkNode<int> node = list.Head;
while(node!=null)
{
Console.WriteLine(node.value);
node = node.nextnode;
}
}
}
}