day 14

释放内存:free(),当用户不再需要一段动态内存空间的时候释放,目前常用的动态内存分配为malloc

单向循环列表:是单项列表的一种改进方式,二者的不同在于单向循环列表的尾结点的指针域存放头结点的地址,首尾相连

单向循环列表也有虚拟头结点,当单向循环列表为空时,head->next == head

快捷缩进 n=   缩进n行

链式栈

插入和删除操作均再头部进行,链表尾部就是栈底,栈顶指着就是链表的头指针

#define MAX 10
typedef int datatype_t;
typedef struct Node {
        datatype_t data;
        struct Node* next;
}linkednode_t;
typedef struct{
        int size;
        linkednode_t* top;
}linkedstack_t;

入栈

出栈

在链式栈中,next 通常用于指向下一个节点,而 top 则用于指示栈顶元素

next 指针用于构建链表结构,将各个节点连接起来。每个节点通过 next 指针指向下一个节点,形成一个链表。

top 则是一个特殊的指针,它始终指向栈顶的那个节点。当进行入栈操作时,新节点会成为新的栈顶,top 指向这个新节点;出栈操作时,top 指向原栈顶节点的下一个节点。

链式队列

插入操作再队尾进行,删除操作再队头进行,由队头和队尾指针控制队列的操作

入队操作

出队操作

出队完成后如果队列为空,则需要强制将front的值赋给tail

typedef struct的加typedef好处

  1. 提高代码的可读性和可维护性:
    • 给结构体一个更具描述性和简洁的名称,使得代码更易于理解其用途
    • 当结构体的定义较长或复杂时,使用简短的别名可以使代码更清晰。

树结构

二叉树:任意一个结点的子节点个数最多是两个,二叉树不一定是满的

完全二叉树:按照树的结构依次将元素排列

前序遍历:当左右

中序遍历:左当右

后序遍历:左右当

层序遍历:按层级遍历,从左到右

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值