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

    二者都属于一种数据结构

    从逻辑结构来看

    1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。

    2. 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素

    从内存存储来看

    1. (静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小

    2. 链表从堆中分配空间, 自由度大但是申请管理比较麻烦 

    从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反, 如果需要经常插入和删除元素就需要用链表数据结构了。

     

    http://www.cnblogs.com/FCWORLD/archive/2010/11/20/1882391.html

    http://blog.sina.com.cn/s/blog_75b0e2ad0101bx53.html

  • 相关阅读:
    php发送http请求带json格式数据
    a标签跳转,打开一个新页面
    echarts图例多行显示,并且全部对齐
    原子性,有序性,可见性
    winds消息大全
    C#中的结构体和对象区别
    装饰者模式
    hashMapp
    linux 定时任务
    windsServer2008设置定时重启
  • 原文地址:https://www.cnblogs.com/huangye-dream/p/5208033.html
Copyright © 2011-2022 走看看