线性表的总结

文章回顾了数据结构中的线性表概念,介绍了用动态数组和链表两种方式实现线性表。在实现过程中,作者遇到了越界和函数调用中的问题,强调了传入指针而非头节点的重要性。通过学习,作者养成了良好的编程习惯,认识到规范代码在调试中的价值。
摘要由CSDN通过智能技术生成

1.回顾内容

  首先的这段时间,我们先提出了数据结构这个概念,首先。这个概念可以线性表的前提,告诉我们为啥要提出线性表这种结构,因为我们要合理地组织数据在内存的储存方式,从而提高数据在内存中的处理和组织方式,所以我们提出线性表这个简单的概念,用 于简单的数据结构学习,对于其他的语言,貌似是有其他的特有的数据结构的,而线性表的实现大概有两个。第一,用顺序表进行实现。第二,用链表进行实现。同时用指针去进行移动。同时我们也要明白一点;创建某一种数据结构是为了满足某种需求,所以诞生更多的数据结构,如同栈和队列等等。

2.主要的内容

  1.线性表

  线性表,我这段时间的有两种创建方式:1.用malloc实现一个动态数组,用确定的数组的最长长度,去动态申请一片空间。2.用一个强化类型的数组去实现线性结构。

  2.链表

  链表,当有需要的时候就申请一片空间再用指针和地址连起来,简单的说,就是用上一个节点的指针去指向下一个节点。

  3. 其中的各项操作(详见前几期blog)

3.遇到的问题

  1.越界

  在我写出来的程序中,经常会出现“段错误”,就是访问了不该访问的空间,在判断循环的条件是还是不够仔细,许多的特殊情况都没有考虑到,总是出现越界的情况。

  2.函数调用中出现的问题

  对线性表进行操作时,一定要传入它的指针,而不是头节点这个结构体,因为,这个时侯如果传入的是这个头节点的复制(一个全新的复制),如果这个时候我们对这个结构体进行个项操作。就会出现一个问题——我们在函数中动态申请的空间会随着这个复制的结构体被释放而被废弃。所以我们要传入指针,也就是这个线性表的地址,访问这个指针去实现对线性表各项操作。

4.收获

这段时间学习闵帆老师的代码,我获得了良好的编写习惯,以前的我都是用眼睛去纠正代码,因为自己的代码难以调试,标准化,格式化的代码,虽然在写的时候有更高的要求,但是在调试的时候却能节省很多时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值