zoukankan      html  css  js  c++  java
  • 数组Array,链表LinkedList和哈希表HashTable

    【优缺点】

    数组:查询方便,但增删难,空间利用率不高

    链表:增删简单,空间利用率高,但查询难

    哈希表:都挺简单(结合产物)

    【不同点】

    1、数组空间连续,链表空间发散

    2、数组需要预留空间,提前申请,链表不需要,链表需要下一个元素的地址

    3、数组空间利用率不高,链表比较高,因为是动态申请

    4、数组空间是分配(先进后出),链表是分配(先进先出)

    5、数组可以通过索引取值,链表不行,哈希表可以通过键取值

    【声明】

    //数组
    int[] arr=new int[5];
    string[] strs=new string[]{"123","234"};
    
    //链表
    LinkedList<int> links=new LinkedList<int>();
    
    //哈希表
    Hashtable ht=new Hashtable();

    【增删与遍历】

    //数组
    arr[3]=6;
    for(int i=0;i<arr.Length;i++)
    
    //链表
    links.AddFirst(123);
    links.AddLast(456);
    
    LinkedListNode<int> node123 = linkedList.Find(123);
    linkedList.AddBefore(node123, 213);//在指定节点前新增元素
    linkedList.AddAfter(node123, 9);//在指定节点后新增元素
    
    links.Remove(123);
    links.RemoveFirst();
    links.RemoveLast();
    links.Clear();
    
    //哈希表
    ht.Add("code1",123);
    ht.Remove("code1");
    
    ht.Clear();
    
    ICollection key = ht.Keys;    //遍历
    foreach (string k in key)
    {
           Console.WriteLine(k + ": " + ht[k]);
    }
    记录编程的点滴,体会学习的乐趣
  • 相关阅读:

    字符串比较
    String对象的简单方法(特别讲解length()方法的实现。
    Character类
    线性结构应用实例:多项式加法运算
    队列的顺序和链式存储实现
    堆栈用数组和用链表实现
    广义表和多重链表(十字链表)
    powerDesigner的name和comment转化
    jquery-validate
  • 原文地址:https://www.cnblogs.com/AduBlog/p/13631444.html
Copyright © 2011-2022 走看看