VR引擎技术第十四天

21 阅读1分钟

# 哈希表

       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(value)  
        {  
            this.value = value;  
        }  
    }  
    //创建一个类 这个帮我们创建新的节点,还有就是删除节点  
    public class LinkList<T>  
    {  
        //头节点   
        public LinkNode<T> Head;  
        //尾节点  
        public LinkNode<T> Last;  
        //添加节点的操作  
        public void Add(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(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;  
            }  
        }  
    }  
}