数据结构-栈与队列
栈 是只允许在一端进行插入或者删除的线性表 每接触一种新的数据结构,要从其逻辑结构,存储结构,运算三方面着手。 n个不同元素进栈,出栈的方式有卡特兰数个。 栈的顺序存储方式12345#define Max 100typedef struct Stack{ ELementType data[Max]; int top;}SqStack; 栈空:S.top=-1。栈满:S.top==Max-1。或者分别为0与Max。 顺序栈的基本操作 初始化(设置top值) 入栈 出栈 读栈顶元素 判断空栈 销毁栈 队列 队头:出队列的一端 队尾:入队列的一段 顺序队列的存储方式123456#define Max 100#define element inttypedef struct Queue{ element data[Max]; int...
算法-链表合集
1. 12345678910111213141516void Del(LinkList *L,int x){ LinkList *p = L->next; LinkList *pre = L; LinkList *temp; while(p != null){ if(p ->data == x){ temp = p;//temp指向被删节点 p=p->next; pre->next = p; free(temp); }else{ pre = p; p = p->next; } }} 其中的if(p ->data == x)可以被替换为任何条件 2. 123456789101112131415void Del(LinkList *L){ ...
君山行
Cyber Diary盘龙山公园 老君山南门 标记了一处地点 羊肉汤 Sunshine 在这里引用许渊冲先生的一句话 生命不是活了多少日子,而是记住了多少日子。
关于走亲戚的思考
...
算法-顺序表合集
对长度为n的顺序表L,编写一个时间复杂度为 O(n)、空间复杂度为 O(1)的算法,该算法删除顺序表中所有值为x的数据元素。 时间复杂度为 o(n^2)的暴力算法,即两个for循环。 记录不等于x的元素的个数相比较与粘图片,还是使用福昕pdf复制,我觉得还是手打吧,因为我实在是看不上前两种方式 法一:记录不等于x的个数,直接替换 12345678910void del(SeList *L,Element x){ int k = 0;//记录不等于x的个数 for(int i = 0 ; i < L->length;i++){ if (L->data[i] != x){ L->data[k] = L->data[i]; k++; } } L->length = k ;} 法二:记录等于x的个数,整体移位 1234567891011void del(SeList *L,Element...
数据结构-线性表
线性表 线性表的定义:相同数据类型、有限、序列(有前驱与后继)。 线性表由相同数据类型的有限数据元素组成,数据元素由数据项组成。 顺序表 分为1-静态分配存储空间;2-动态分配存储空间。 优缺点 随机访问,存储密度高 插入、删除难,不够灵活 链表 结点类型描述 1234typedef struct LNode{ ElementType data, struct LNode *next,}LNode,*LinkList - LNode *L 等价于 LinkList L 头结点与头指针的关系 头指针始终指向链表中第一个节点,头节点时带头节点链表中第一个结点,通常不存储信息。 引入头结点所带来的好处 统一了空表与非空表操作 在链表第一个位置上的操作与其他位置一致 单链表的初始化 1234567891011/*说明:初始化链表,返回头节点*/ LinkList InitList() { LinkList L = (LNode*)malloc(sizeof(LNode)); // 创建头节点 if...
数据结构-导论
逻辑结构 集合 线性结构 树形结构 图状结构或网状结构 1 顺序表和链表都是线性结构,它们的逻辑结构相同。 栈和队列虽然都是线性结构,但它们的操作规则不同,逻辑结构不完全相同。(存在争议)
南山行
行者好久没去南山了,一到南山,我便在山里跑了起来,看着似曾相识的景与物,思绪便不由自主地从四面八方涌入我的脑海中。曾经湍急的河流现如今裸露的只剩枯叶,亦或是青苔安静的铺在上面。曾经觉得南山好高好高,走了一程又一程,绕过了一个又一个弯,仍不能抵达山顶,现在却也用具体的数字量化山的高度,走一会儿就走完了全程。小时候的自己使劲地爬呀爬,终于—和早已在山顶的自己相遇。但或许初心仍在,犹如眼见之处清雅古檀般的大地、幽深静远的浅谭;所踏之地台阶参差不齐的边缘,它被时间缓缓地雕塑着,镌刻着光阴的年轮,勾勒出变迁的轨迹;耳闻之声的和谐与静谧,与大自然同频振动,却也不同与世间喧嚣吵闹。
初探-MyBatis
MyBatis—一款持久层框架,简化JDBC开发首先解决JDBC遗留的三个问题: 硬编码:在MyBatis中改动application.properties 繁琐: 频繁开关连接:在Mybatis中使用数据库连接池。 DB连接池: 是个容器 当某个用户需要连接数据库时,取曲别针,断开数据库连接时,释放曲别针。 若用户长时间占而不用,池会计时并释放。 SpringBoot使用Hikari Sun提供的标准DB接口为:DataSource,所有的数据库连接池都要实现这个接口 基于Spring Boot整合Mybatis 准备:创建Spring Boot工程,勾选MySQL Driver、MyBatis...
谈谈妙言
今天下载了一款markdown编辑器,名为“妙言”,官方介绍为完全开源,不会上传用户数据等一系列优点,我便下载试试,在这里总结利与弊。点击这里下载妙言 利 支持预览(VSCode也可,两者的预览仅供参考,以网站实际显示效果为准)。 字体优美(霞骛字体,听起来高大上的样子)。 轻量级,dmg包仅仅20MB。 网站主页使用Vercel进行托管,经济实惠,感觉平易近人。 等等 弊 令人抓狂的缩进。 我在写嵌入文本的代码块时,遇到了棘手的问题。 下面这张图片为正常显示: 但当我将代码边界的三个点移动后,再移动回去时,并不会高亮显示: 但是预览的时候是没有问题的,所以此处为一个bug。 在这方面VSCode是做的不错的,他有着合理的缩进提示线: 所以“妙言”仍不能胜任严苛的写作任务 一款好的markdown编辑器我觉得一款好的编辑器需要具备: 支持HTML代码自动补全。 轻量化 能够胜任大部分任务 总评“妙言”,它又轻又美,但是缩进的影响对我来说是不可忽略的。