数据结构
文章平均质量分 76
这是以线性表为主展开的学习内容,主要以代码的方式一步一步分析,结合注释内容,精准详解!相信我们都会有更大的进步!一起学习,一起进步!
沐鑫本鑫
FIGHTING
展开
-
(8)数据结构与算法-有空头链表的查找、修改与删除
有空头链表原创 2021-08-14 15:22:06 · 123 阅读 · 0 评论 -
(7)数据结构与算法-有空头链表的创建与添加
有空头链表介绍特点链表的创建空头的创建节点计数器的建立链表的添加尾添加释放链表介绍特点1)第一个节点不装数据作为链表头(永远不变),从第二个节点开始有数据2)不使用尾指针,涉及尾部,循环寻找;目的是与之前写的不一样,更有意思!3)操作原理和操作逻辑和无空头链表基本一样,多了空头,代码部分也会稍有不同4)与无空头链表的区别:有空头一些操作会比无空头的简单一些链表的创建空头的创建 //单独创建空头链表节点 struct Chain Head = {0,NULL}; //或者 struct原创 2021-08-11 14:15:12 · 597 阅读 · 0 评论 -
(6)数据结构与算法-无空头链表的节点交换
无空头链表的节点交换交换数据根据数据查找交换利用中间变量交换利用mencpy内存拷贝交换根据下标查找交换交换节点交换数据根据数据查找交换注意:若有几个相同的数据,是交换第一个数据利用中间变量交换数据的交换,对于指针指向是不变的,所以传一级指针就可1.找到数据一的节点地址,找到数据二的节点地址,判断两个是否为空2.不为空则交换,结构体允许直接交换或者节点直接互相赋值字符串必须调用strcpy或者循环赋值3.为NULL,无法交换void SwopiData(struct Chain *pH原创 2021-06-24 20:22:58 · 216 阅读 · 0 评论 -
(5)数据结构与算法-无空头链表的删、改、查
无空头链表的删、改、查原创 2021-06-20 13:50:46 · 244 阅读 · 0 评论 -
(4)数据结构与算法-无空头链表的添加
单向链表基本概括二级目录三级目录基本概括链表的常用结构主要成分有空头有链表与无空头链表二级目录三级目录原创 2021-06-16 12:36:48 · 310 阅读 · 0 评论 -
(3)数据结构与算法-伪链表
链表伪链表数组与动态数组概念链表由来伪链表数组与动态数组概念数组:固定长度,空间连续,一次性申请好,为保证够用申请非常多的空间,会造成空间浪费!动态数组:动态的增加或删除节点,也是重新申请更大的空间,会严重降低效率链表由来如果不想一次性申请太多空间,只申请一个,并保证原数据不变,怎么做? 数组访问各个元素的原理:下标运算(空间连续,直接首地址做加法)由于后加的元素不是和原数组一起申请的,所以各元素地址不一定连续,就无法通过下标来进行访问,所以要通过前一个元素记录下一个元素的地址,这样就可以原创 2021-06-11 17:05:04 · 505 阅读 · 0 评论 -
(2)数据结构与算法-动态数组(2)
动态数组中间插入元素回顾上节添加步骤回顾上节上节是在动态数组的尾部添加一个元素方式是再申请一个更大的空间,代替原空间现在要在中间插入元素,该怎么办呢?添加步骤1.将该节点后面的所以元素全部往前挪动一个覆盖该节点...原创 2021-05-26 20:00:56 · 127 阅读 · 0 评论 -
(1)数据结构与算法-动态数组(1)
线性表顺序表回顾数组基本概念基本操作创建与初始化节点改、查节点增加节点顺序表回顾数组基本概念1)根据空间分,可分为栈区数组和堆区数组栈区数组:系统自动管理堆区数组:我们自己管理malloc/free new/delete基本操作节点装的是数据创建与初始化节点栈区:int a[4] = {0,1,2,3};堆区:int *p = (int*)malloc(sizeof(int)*4); free(p);改、查节点a.下标运算:[ ]b.指针运算:*(p+n) = p[n]增加节点原创 2021-05-25 16:31:07 · 125 阅读 · 0 评论 -
数据结构与算法-前言
初识数据结构与算法数据结构概念物理结构逻辑结构两种结构区别4种结构操作步骤算法概念主要算法学习目标学会使用基本数据结构和算法提高编码能力重要性数据结构概念存储数据的逻辑结构分为两种大概念的结构物理结构在物理内存上存储的结构逻辑结构代码表现出来的就是逻辑结构,代码上写的逻辑结构实际上是操作系统存储在物理结构中的两种结构区别逻辑结构有面型,x,y坐标的形式操作元素;而转到物理结构中只有操作系统存储的线性的排布。4种结构4种结构:集合型结构:一堆在一起,彼此间没什么关系线性结构:一个连原创 2021-05-25 16:36:22 · 404 阅读 · 0 评论