算法-链表合集
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){ ...
算法-顺序表合集
对长度为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代码自动补全。 轻量化 能够胜任大部分任务 总评“妙言”,它又轻又美,但是缩进的影响对我来说是不可忽略的。
五子棋项目总结
软件生命周期 立项 可行性分析+软件开发计划 需求分析 架构 编码 测试 项目上线 维护 立项做什么东西 可行性分析 技术可行性 用到哪些技术。如果某个技术是一部分功能会用到的,需要小组内一半人掌握才能使用;如果是所有代码涉及到的,需要全员掌握 列举核心功能 考虑核心功能能否实现 数据的设计 逻辑的描述 需求分析 需求文档 界面划分 界面描述 功能分类 功能概述 优先级 备注 流程图 使用process...
HTML知识点整理
HTML知识点整理 前世今生与概括 许多计算机通过Internet连接在一起,而在万维网上,可以找到图片、视频等资源。网景与微软争夺浏览器市场,促使了HTML规范的统一。 HTML:描述网页的一种语言,没有强逻辑处理能力,标记语言而非编程语言。 入门 创建一个.html文件,使用VSCode打开,输入!,显示出了 1234567891011<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> ...
JDBC杂谈
JDBC——Java操纵关系型数据库的一套API SUN公司定义接口,各个数据库厂商实现接口,使用JDBC编程,真正执行代码为jar包中的实现类。 JDBC操纵MySQL 连接数据库 123456789101112131415161718// 方法用于建立数据库连接public class MySQLConnection { // 方法用于建立数据库连接 public Connection getConnection() { String url = "jdbc:mysql://localhost:3306/pingpang_plus"; String user = "root"; String password = "123456"; try { Connection connection = DriverManager.getConnection(url, user, password); ...
使用Vercel加速Hexo静态博客访问
首先引用看到的一句话: “估计现在有很多同学使用了Hexo博客框架做一个博客并部署在了Github上, 这一切看起来很容易上手,于是开开心心地去写博客内容了,但到后面才发现这才是“苦难”的开始:原本以为是要写博客内容, 但更多的时间是被用来优化网站。因为强迫症‘患者’总是对网站各种不满意,于是自己挖坑又填坑。 网站代码 repo 导入 vercel: 在Vervel中new一个新项目,将GitHub上的网站后端代码仓库导入进去, 接下来就可以通过Domains中的几个链接来访问你的网站。 修改DNS以及设置域名: ...