数据结构
coderyzh
这个作者很懒,什么都没留下…
展开
-
数据结构-静态链表
注:1、静态链表:用数组的方式实现链表2、优点:增删操作不需要大量移动元素,缺点:不能随机存取,只能从头结点开始依次往后查3、容量固定不可变4、增删操作,实际上就是改变指针指向的位置,把next指针标记为空结点的标志,但是数据部分就变成了脏数据部分代码体现几种不同的定义方式/*静态链表:分配一整片连续的内存空间,各个节点集中安置*///0号结点充当“头结点”#...原创 2020-03-29 11:10:45 · 883 阅读 · 0 评论 -
数据结构-循环链表
实现循环单链表以及循环双链表注:1、必须学会如何判空,这样才能熟悉循环链表的初始化。2、循环单链表的初始化:L->next=L;即头结点的next指针始终指向头结点3、循环双链表的初始化:L->next=L;L->prior=L;即头结点的prior指针以及next指针均指向头结点4、注意插入删除时指令的顺序。s->prior=p;s->...原创 2020-03-25 19:06:48 · 373 阅读 · 0 评论 -
数据结构-双链表
双链表的插入,删除操作,初始化,销毁,遍历注:1、不管是插入还是删除,都需要考虑边界的情况。2、实际上双链表相对于单链表来说,只是每个结点多了一个指向前一个结点的指针prior。3、每个双链表的最后一个元素,是单一指向NULL,不存在最后一个结点与NULL是双向指向的。4、头结点L的前继指针永远指向NULL。#include<stdlib.h>...原创 2020-03-24 22:19:51 · 230 阅读 · 0 评论 -
数据结构-单链表的建立:尾插法+头插法
fds原创 2020-03-23 23:46:40 · 775 阅读 · 0 评论 -
数据结构-单链表的两种实现方式
单链表的两种实现方式:带头结点和不带头结点需要注意的地方:1、带头结点和不带头结点在实现插入和删除操作时的区别2、封装的方便之处(见InsertPriorNode(LNode *p,ElemType e)),能够使代码更简洁,更加清晰3、带头结点方式中,头结点不装入数据,并且看作成第0个结点。不带头结点方式,没有头结点,从第1个结点开始。4、注意一些特判情况例如:按位序...原创 2020-03-22 11:30:29 · 532 阅读 · 0 评论 -
数据结构-顺序表的实现方式
使用静态数组以及动态数组实现顺序表的一些操作需要注意的地方:1、两种实现方式的初始化方式2、动态数组中,使用malloc函数时,一定要在前面进行强制转化成同一类型,这样才能保证,在进行操作的时候,每个数据元素的所占用存储空间的大小是相同的。3、malloc函数返回的是连续存储区域的首地址。4、插入删除操作中的特判,保证了算法的健壮性。5、注意指针的定义方式,传参引用&...原创 2020-03-21 21:29:24 · 889 阅读 · 0 评论