发布时间:2026/7/22 19:22:35
数据结构(C语言版)学习日记(6) 2.2线性表的顺序表示和实现顺序存储定义逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。即逻辑上相邻物理上也相邻线性表顺序存储结构占用一片连续的存储空间。若中间存在空的存储单元即不连续则不是线性表的顺序存储单元例下面线性表中存在空的存储单元即不是线性表的顺序存储单元123顺序表中元素存储位置计算若知道每个元素的存储单元为lai的存储位置i则ai1存储位置为il例若每个数据元素占8个存储单元ai的存储位置是2000单元则ai1的存储位置是2008单元顺序表的特点类似数组因此可以用一维数组表示顺序表1地址连续2依次存放3随机存取4类型相同一维数组定义方式类型说明符 数组名【常量表达式】例int a[10]线性表长可变但是数组的长度不可动态定义解决方法用一变量表示顺序表的长度属性# define LIST_INIT_SIZE 100 //线性表的初始存储大小#define LISTINCREMENT 10 //线性表存储空间的分配增量typedef struct{ElemType *elem; //存储空间的基址int length; //当前的长度int listsize; //当前分配的存储容量}SqList(elem指示线性表的基地址length表示线性表的当前的长度listsize指示顺序表当前分配的存储空间大小一旦因插入元素而空间不足时可增加一个大小为存储LISTINCREMENT个数据元素的空间)线性顺序表操作注需要先预定义常量和类型# define TRUE 1# define FALSE 0# define OK 1# define ERROR 0# define INFFEASIBLE -1# define OVERFLOW -2typedef int Status;typedef char ElemType;Status InitList_Sq(SqList L){ //初始化LL.elem new ElemType[MAXSIZE];if (!L.elem) exit(OVERFLOW);L.length 0;return OK;}void DestroyList(SqList L){ //销毁Lif (L.elem) delete L.elem;}void ClearList(SqList L){ //清空LL.length 0;}int GetLength(SqList L){ //获得L的长度return (L.length);}int IsEmpty(SqList L){ //判断是否为空if (L.length 0) return 1;else return 0;}int GetElem(SqList Lint iElemType e){ //顺序表随机取值if (i 1 || i L.length) return ERROR;e L.elem[i-1];return OK;}

相关新闻

2026/7/21 6:04:41

2023中国民营企业500强:产业结构与区域经济新格局

1. 2023中国民营企业500强全景解读 2023年9月12日,全国工商联在山东济南发布了最新中国民营企业500强榜单。这份被誉为"中国民营经济晴雨表"的年度榜单,不仅反映了头部民营企业的经营状况,更折射出中国产业结构的深层变革。作为连续…

2026/7/21 6:04:41

EMIFA接口驱动NAND Flash与EDMA数据搬移实战指南

1. 项目概述与核心价值在嵌入式系统开发,尤其是基于TI C6000系列DSP或ARMDSP异构处理器的项目中,外部存储器接口(EMIFA)是连接处理器与外部大容量存储设备的核心桥梁。它不仅仅是几根物理连线,更是一套完整的、可编程的…

2026/7/22 15:02:45

RV1126B平台YOLO模型部署实战:从v5到v26全解析

1. 项目概述:RV1126B平台上的YOLO模型部署实战 在边缘计算设备上部署目标检测模型一直是计算机视觉领域的核心挑战。RV1126B作为一款专为AI视觉设计的嵌入式处理器,其2T算力的NPU和丰富的接口资源,使其成为中小型视觉模型落地的理想选择。本次…

2026/7/22 19:50:05

json-swift实战案例:如何优雅处理复杂JSON结构

json-swift实战案例:如何优雅处理复杂JSON结构 【免费下载链接】json-swift A basic library for working with JSON in Swift. 项目地址: https://gitcode.com/gh_mirrors/js/json-swift 在Swift开发中,处理JSON数据是常见需求,尤其是…

2026/7/22 19:45:05

helm-push安全实战:Basic Auth、Token认证与TLS配置完整指南

helm-push安全实战:Basic Auth、Token认证与TLS配置完整指南 【免费下载链接】helm-push Helm plugin to push chart package to ChartMuseum 项目地址: https://gitcode.com/gh_mirrors/he/helm-push helm-push是一款专为Helm设计的插件,用于将…

2026/7/22 9:29:13

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/22 0:02:17

抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具

抓包代理链路下的 TLS 指纹变化分析:为什么调试环境会影响访问结果 摘要 在网页调试、接口联调、自动化巡检和授权采集排查中,抓包是常见手段。但很多开发者会遇到一个现象:正常访问页面时没有问题,一进入抓包或代理调试环境&…

2026/7/22 0:02:17

微信QQ聊天记录误删恢复与备份方案全指南

1. 聊天记录误删的常见场景与恢复思路作为一名长期关注数据安全的技术博主,我处理过上百起聊天记录误删的求助案例。手机误操作、系统升级失败、设备损坏是三大常见诱因。上周就遇到用户更新微信时断电,导致近两年的工作群聊记录全部消失的极端案例。不同…

2026/7/22 0:02:17

2026最新8款个人AI编程免费工具深度实测

作为一名全栈独立开发者,我最近半年一直在折腾副业项目,每个月在AI编程工具上的订阅费算下来其实也不算便宜。作为个人开发者,我们追求的就是用最少的成本获得最高效的开发体验。TRAE 基础版免费,字节跳动出品的国内首款 AI 原生 …

2026/7/21 20:02:44

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…