数据结构
好好学
蛟~
这个作者很懒,什么都没留下…
展开
-
一篇文章让你看懂顺序表(c)
线性顺序表:指的是用一组地址连续的存储单元依次存储线性表中的数据元素。就根数组一样的道理,只不过我们这里可以用结构体或类来定义一个动态的数组,使其存储空间可以随我们的需要而改变,不会造成空间的浪费。所以我们这里有两种存储结构,各有优点:1.动态分配顺序存储结构://线性表的动态分配顺序存储结构typedef int ElemType;//顺序表的数据元素类型typedef struct{ ElemType *elem;//存储空间的基地址 int lenth;//当前的表长原创 2020-12-05 12:52:33 · 301 阅读 · 0 评论 -
线性表的元素逆置,按值非递归排序(c)
线性表的顺序存储结构和链式存储结构设计与其它操作的实现1.采用线性表动态分配顺序存储结构:实现顺序表中数据元素的逆置操作第一个与最后一个数据互换,第二个与倒数第二个互换,依次类推void ReverseList(SqList &L){ int i=0; for(;i<L.length/2;i++){ int temp=*(L.elem+i); *(L.elem+i)=*(L.elem+L.length-i-1); *(L.elem+L.length-i-1)=temp;原创 2020-12-03 20:39:41 · 534 阅读 · 0 评论 -
(C++)类模板(用顺序表实现举例)
模板是什么模板就是一种对类型进行参数化的工具。分为两类:函数模板和类模板现在我们就以顺序表的实现来说明:类模板1.格式template<typename 形参名,typename 形参名,typename 形参名,……>class 类名{ 。。。。。};以template开头,后接模板形参列表(注意形参列表不能为空)一旦声明类模板后就可以用类模板中的形参名来声明类中的成员变量和成员函数这里的typename可以和class互换,表达同样的意思例如:templat原创 2020-10-18 11:08:42 · 1957 阅读 · 0 评论 -
数据结构之链表
基础概念相当于顺序表来说,链式线性表的存储结构要求就没有那么高,可以是一组任意的存储单元。这样也就需要用指针来将前后的元素连接起来,因此就有结点这个概念,就是一个结点不仅包含自身的数据,还包括下一个元素的地址(即指针)。但链表有一个缺点,就是:访问链表中的元素,只能从头指针开始一个一个地向下找。头指针就是指向第一个元素数据域的指针,但很多时候,我们会加入一个头结点,使得头指针指向头结点,头结点的数据域不放东西,指针域放首元结点(第一个元素)的数据域地址。代码实现单链表的存储结构://单链表的存原创 2020-09-28 14:04:37 · 280 阅读 · 0 评论 -
数据结构线性表——顺序表(C/C++(类模板))含代码
总结就是我个人的学习总结。线性结构分为线性表(一般),栈、队列、串(特殊),数组(推广)同一线性表中的数据元素必定是具有相同的特性的,即属于同一数据对象,相邻元素间存在序偶关系。数据表其实就是一个数据对象,由n(n>=0)个数据元素构成的有限序列线性表可以分为顺序表和链表顺序表的特点:可随机存取(类似于数组)//动态分配一维数组表示线性表#define maxsize 100 //顺序表可以达到的最大长度struct SqList{ int *elem; //原创 2020-09-12 15:58:13 · 1886 阅读 · 0 评论 -
数据结构基本概念和术语
数据结构基本概念和术语数据:在计算机科学中表示所有能输入到计算机中并且可以计算机程序处理的符号的总称。就是对客观事物的符号表示。数据元素:是数据的基本单位。一个数据可以有若干个数据项组成。例如在学生花名册里每个学生的信息(学号、姓名、性别等)是一个数据元素,而学号和姓名这些就是一个个数据项。数据项是数据不可分割的最小单位。数据对象:就是性质相同的数据元素的集合。是数据的一个子集。数据结构:相互之间存在一种或多种特定关系的数据元素的集合(这只是一种简单的理解,现在也没有一种公认的定义)。逻辑结构:原创 2020-09-12 16:00:13 · 696 阅读 · 0 评论