qq_65504039 2022-06-29 15:22 采纳率: 33.3%
浏览 27
已结题

数据结构里面的一个小问题

img


为什么这个是错的啊,删除和插入不是在c语言的数组里讲过吗,就是向后向前移动,这个为什么错误呢

  • 写回答

3条回答 默认 最新

  • wwc2017 2022-06-29 16:12
    关注
    • 数组在定义后是无法改变其大小的,所以也无法进行插入、删除元素的操作

    • 如果题目说的是不改变数组大小,也就是你说的向后向前移动,在数组中这也是非常低效的操作,并不常用
      例如有int a[100],已经保存了98个数据,你要在a[2]插入个新值,那么你要把后面96个值依次向后移动一位
      而对于通过指针来将元素串在一起的数据结构,例如单链表,只需要将前一个元素的next指针指向插入的新元素,新元素的next指针指向原本的下一个元素就可以了,效率高得多。
      数组在内存中保证连续存储,带来的优点是能通过下标直接访问任意元素,缺点就是在中间添加或删除数据效率低下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月7日
  • 已采纳回答 6月29日
  • 创建了问题 6月29日