当前位置: 首页 > news >正文

数据结构(长期更新)第2讲:顺序表(一)

数据结构(长期更新)第2讲:

顺序表(一)

      跟着潼心走,轻松拿捏C语言,困惑通通走,一去不回头~欢迎开始今天的学习内容,你的支持就是博主最大的动力博主主页:潼心1412o-CSDN博客


目录

数据结构(长期更新)第2讲:

顺序表(一)

前言

2.1 线性表

2.2 顺序表(sequence list)

2.3 顺序表的初始化


前言

先说个题外话,在我们学习的过程中,可能会出现代码怎么都找不出来bug的情况

我们可以尝试使用文本在线对比工具:BEJSON

然后今天我们正式学习第一种数据结构——顺序表

我们知道数据结构可以在逻辑上和物理结构上进行分类,那么第一类就是线性表

2.1 线性表

线性表(linear list)就是n个相同类型数据的有序序列

有序表现在逻辑上,具体可根据物理结构进行划分

常见的有顺序表,链表,栈,队列,字符串。。。。。。

其中顺序表就是物理结构有序,链表就是物理结构无序的

但因为他们逻辑结构都有序,所以都属于线性表

2.2 顺序表(sequence list)

概念:

物理地址连续存储数据元素的线性结构,一般情况下用数组存储

和数组的关系:

顺序表的底层结构是数组,数组是顺序表的实现方式

分类:

静态顺序表和动态顺序表(依据顺序表的长度是否可以改变,可以联想动态内存申请)

静态顺序表基本构成如下

typedef struct Seqlist{int a[N];//定长数组int size;//有效数据个数
}SL;

静态顺序表具有定长数组的缺陷:空间少了不够,多了浪费

结构体和变量类型也可取别名typedef方便一键修改

动态顺序表就可以通过改变空间容量来进行增容

typedef struct Seqlist{int a[N];//定长数组int size;//有效数据个数int capacity;//空间容量
}SL;

其底层数组空间不断变化

2.3 顺序表的初始化

这里我们先回顾一下多文件操作

三个文件,一个.h头文件用于放函数的声明,结构体的定义等

一个.c文件用于初始化和定义函数,一个.c文件用于执行测试

为啥,因为我们在进行初始化时使用的是传值调用,而非传址调用

所以初始化失败,正确方法如下

注意这里用指针访问结构体元素就要用箭头,不能用点了

其他操作且听下回分解


 好了今天的学习内容就到这里啦,谢谢你的陪伴,我是潼心,下次再见~如果这篇文章对你有帮助的话。请务必给主播一个一键三连,球球了,这对主播很重要~​​​​​​ 

博主主页:潼心1412o-CSDN博客

http://www.dtcms.com/a/452854.html

相关文章:

  • 《Flask 的“微”哲学:从轻量内核到请求上下文的深度剖析》
  • 在 Elasticsearch 中改进 Agentic AI 工具的实验
  • Solid Explorer(双窗格文件管理器) 解锁完整版
  • 做外贸自己的公司网站wordpress头像设置方法
  • Java学习之旅第二季-9:包
  • 大数据毕业设计选题推荐-基于大数据的人类健康生活方式数据分析与可视化系统-大数据-Spark-Hadoop-Bigdata
  • 图像处理实践:自定义直方图变换函数的优化与问题解决
  • 人力资源管理的思维方式学习笔记7-final
  • JavaEE初阶——线程安全(多线程)
  • [工作流节点16] 更新他表记录的自动化方案:跨表数据联动的关键实现
  • 南京金融网站建设wordpress热门文章调用
  • 针对 OpenMMLab 视频理解(分类)的 MMAction2 的环境配置
  • 中国电信用户行为实时分析系统运维实战
  • HTTP、WebSocket、XMPP、CoAP、MQTT、DDS 六大协议在机器人通讯场景应用
  • 长春网站制作招聘信息上海网站被查
  • 做自媒体视频搬运网站网站建设与管理淘宝
  • IP 协议的相关特性
  • 《投资-88》价值投资者的认知升级与交易规则重构 - 第三层:估值安全边际,“再好的公司,如果买贵了,也会变成一笔糟糕的投资。”
  • 工程师 - Raspberry Pi Pico程序:读取SPI数据后从串口输出
  • 虚幻引擎5 GAS开发俯视角RPG游戏 P04-12 可缩放浮点数的曲线表
  • 接口请求工具对比 apifox apipost swagger postman等
  • C++联合体(Union)详解:与结构体的区别、联系与深度解析
  • LangChain部署RAG part2.搭建多模态RAG引擎(赋范大模型社区公开课听课笔记)
  • SSM--day4--SpringMVC(补充)
  • Flink Checkpoint与反压问题排查手册:从日志分析到根因定位
  • 元宇宙的教育应用:重构学习体验与知识传递
  • 建设99网站江西网站开发哪家好
  • RabbitMQ高可用集群搭建教程(基于CentOS 7.9 + Erlang 23.2.7 + RabbitMQ 3.8.8)
  • 【LangChain】P14 LangChain 输出解析器深度解析:Json解析器、XML解析器、字符串及列表、日期解析器
  • 仿真软件-多机器人2