【数据结构】教我学会数据结构(一)

📅 发布时间:2026/8/14 14:14:35
【数据结构】教我学会数据结构(一)
提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档文章目录前言一、基本概念二.顺序表1.seqlist.h2.如何创建一个顺序表总结前言我开始学习数据结构了嗯对提示以下是本篇文章正文内容下面案例可供参考一、基本概念1.什么是数据结构程序数据结构算法 数据结构即为描述数据的结构2.时间复杂度随数据量的增长程序运行的时间随之增长两者呈现的函数关系称为时间渐进复杂度函数简称为时间复杂度3.空间复杂度随着数据量的增长程序所占空间和数据量增长所呈现的比例函数关系简称空间复杂度4.数据结构1.数据的逻辑结构-线性结构表状结构一对一关系-树形结构 一对多-图形结构 多对多2.数据的存储结构-顺序-链式-散列-索引5.数据结构的内容-顺序表-链式表**–单向链表–双向链表–双向循环链表–内核链表-顺序栈-链式栈-顺序队列-链式队列-二叉树-哈希表-常见的排序和查找的算法二.顺序表1.seqlist.h//顺序表存放数据的类型typedefintDataType;//顺序表标签类型typedefstructseqlist{DataType*pData;//存放数据的空间的首地址inttLen;//最多存放元素的个数intcLen;//当前存放元素的个数}SeqList_t;2.如何创建一个顺序表1.申请标签空间标签空间pData:指向第一个的指针tlen:总共最多的个数clen当前所有的个数//申请标签空间pTmpListmalloc(sizeof(SeqList_t));if(pTmpListNULL)//申请失败{printf(malloc failed\n);returnNULL;}2.申请数据存放的空间pTmpList-pDatamalloc(Len*sizeof(DataType));if(NULLpTmpList-pData){printf(malloc failed\n);returnNULL;}3.对标签的空间赋值pTmpList-tLenLen;pTmpList-cLen0;4.对申请的数据空间赋值memset(pTmpList-pData,0,Len*sizeof(DataType));//memset(起始地址赋值填充字节总个数)内存置位的作用可清零要包含string.h5.返回标签的首地址returnpTmpList;总结