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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    正则表达式口诀
    Ajax请求的四种方式
    jQuery插件 -- jQuery UI插件
    电脑操作技巧
    递归
    声纹识别环境初次搭建
    视频编码book_实战_全角度——1
    SDK等阅读笔记
    音视频bug调试
    音视频开发进阶指南(二)
  • 原文地址:https://www.cnblogs.com/lcl0421/p/8303020.html
Copyright © 2011-2022 走看看