zoukankan      html  css  js  c++  java
  • 链表和数组的区别

    本文原创,版权属作者个人所有,如需转载请联系作者本人。Q&微:155122733

    --------------------------------------------------------------------------------------------------------
    数组和链表的区别整理如下:

    1 数组静态分配内存,链表动态分配内存;

      数组在使用前需要固定大小,如果太小,会导致数组越界;如果太大,会造成内存资源浪费;而链表则能够动态分配内存,实现用多少申请多少;

    2 数组在内存中连续,链表不连续;

    3 数组元素在栈区,链表元素在堆区;

    4 数组使用完后系统自动释放空间,链表使用完后需要人为通过free释放空间;

    5 数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);

      数组定位元素时可以根据下标直接定位,而链表则需要遍历,因此在定位元素时,数组优于链表;

    6 数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。

      数组在插入删除元素时,需要线性移动;而链表则可以自由插入删除元素,在插入删除元素方面,链表优于数组

  • 相关阅读:
    C#发送邮件简单例子
    ABAP随笔
    日期格式转换
    正则校验金额,整数8位,小数3位。
    angular语法运用技巧
    Oracle中连接与加号(+)的使用
    含有代码分析的面试题
    面试的java题目
    递归查询
    本地没有ORACLE远程登录oracle服务器
  • 原文地址:https://www.cnblogs.com/lcl0421/p/8303020.html
Copyright © 2011-2022 走看看