MySQL数据库
配置 安装好MySQL后进入文件夹的bin目录,复制文件路径添加到环境变量中 要在VScode中使用,需要下载MySQL插件,创建与服务器的连接,输入密码后即可连接成功 点击添加New Database后会打开一个sql文件,对数据库的操作都会在里面执行 基本操作添加数据库/表格/数据要添加数据库要用CREATE DATABASE关键字 一般情况下关键字不区分大小写,但为表区分一般用大写 12CREATE DATABASE basename;DEFAULT CHARACTER SET = 'utf8mb4'; // 设置默认字符集为utf8mb4 添加表格前使用USE name来声明添加到哪个数据库,用CREATE TABLE关键字,格式为CREATE TABLE name();,其中括号内填入表格的各个列 每列的格式为列名,数据类型,也可设置默认条件例如NULL默认为空,NOT NULL不为空,AUTO_INCREMENT自动递增,其中PRIMARY...
图
...
树和二叉树
树非线性结构中的树形结构前驱个数唯一,后驱不唯一 每个树有且只有一个根结点Root,其余可分为n个互不相交的有限集,每个有限集本身又是一棵树,并称为根的子树 根节点:非空树中无前驱结点的结点 结点的度:结点拥有的子树数 树的树:树内各结点的度的最大值 叶结点/终端结点:度为零的结点,没有后驱 分支结点的度不为零,根结点之外的分支结点称为内部结点 树的存储结构双亲表示法每个结点包含两个指针域,分别用来存放数据与该结点的双亲结点在数组中的位置 1234567891011typedef struct PTNode { int data; int parent;}PTNode;#define MAX_SIZE 100typedef struct PTree { PTNode nodes[MAX_SIZE]; int r; // 根结点位置 int n; //...
串、数组、广义表
串 与栈和队列相似,串是内容受限的线性表,串的元素只能是字符 串中任意个连续字符组成的子序列称为该串的子串,真子串指不包含自身的所有子串 串的存储结构顺序存储12345#define MAXLENGTH 100typedef struct SString{ char data[MAXLENGTH + 1]; int length;}SString; 加一使位序与下标相等,data中第一个元素闲置不用,便于后续的计算 链式存储12345678910#define CHUNKSIZE 50typedef struct Chunk { char data[CHUNKSIZE]; Chunk *next;}Chunk;typedef struck LString { Chunk *head, *tail; // 串的头指针与尾指针 int...
AJAX
AJAX原理—XMLHttpRequest XMLHttpRequest(XHR)对象用于与服务器交互,axios实际上就是对XHR的封装 使用XMLHttpRequest 创建XHR对象 配置请求方法与URL 监听loadend加载完毕事件,接收响应结果 发送请求 1234567891011121314const xhr = new XMLHttpRequest();xhr.open('POST', 'http://localhost:3000/');xhr.setRequestHeader('Content-Type', 'application/json'); // 设置请求头,指示消息体类型为JSONxhr.addEventListener('loadend', () => { console.log(xhr.response);})// 若类型为GET则send后不能接数据xhr.send(JSON.stringify({ ...
ES6模块化规范
Node中运行ES6模块 将所有JS文件后缀改为.mjs 在package.json(没有就新建)中声明type为module 1234// package.json{ "type": "module"} 暴露分别暴露在想要暴露的数据前加上export关键字 1234export const name = "666"export function sayhi(){ console.log("hi")} 统一暴露在代码的最后加上类似对象结构的语句expost {},不能写成name: name 12345const name = "666"function sayhi(){ console.log("hi")}export {name, sayhi} 默认导出在代码最后使用export...
移动端HTML与CSS
<meta>标签1<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> width=device-width,设置视口宽度为设备宽度 user-scalable=no,是否允许用户缩放 initial-scale=1.0, maximum-scale=1.0,...
栈和队列
栈和队列都是线性表,但是插入和删除位置被限定了 栈(Stack) 插入和删除操作只能在表尾进行,先进后出,简称LIFO结构 表尾an称为栈顶Top,表头a1称为栈底Base 插入元素到栈顶的操作称为入栈PUSH,删除栈顶最后一个元素称为出栈POP 有顺序栈和链栈两种方式,顺序栈更常见 为方便操作,top指针一般指向栈顶上一个的元素,此时top - base = size,初始时top = base 顺序栈结构12345typedef struct { int stacksize; int *top; int *base;}SqStack; Inittop = base说明是空栈,top - base = stackbase说明栈满 12345void Init(SqStack &S) { S.stacksize = 100; // 栈的最大长度 S.base = new int[stacksize]; S.top =...
顺序表与链表
顺序表 顺序线性表是指用一组地址连续的存储单元一次存储数据元素的线性结构。 12345#define MAX_SIZE 1000typedef struct { int data[MAX_SIZE]; // 存储元素的数组 int length; // 长度}SqList; 引用类型做参数传地址123456void main(){ int i = 1; int &j = i; i = 2; cont<<"i="<<i<<"j="<<j; // i=2 j=2} 事例中j是i的引用,代表i的一个替代名,i值改变时j也跟着改变 123456789101112#include <iostream>using namespace std;void swap(int &m, int &n){ int temp = m; m = n; n =...
CSS加载动画
文本填充效果效果图 代码实现12345678910111213141516171819202122232425262728293031323334353637383940414243<body> <h1 data-text="Loading...">Loading...</h1></body><style> *{ box-sizing: border-box; margin: 0; padding: 0; } body{ display: flex; justify-content: center; align-items: center; min-height: 100vh; background-color: pink; } h1{ position: relative; font-size: 10vh; color: skyblue; ...










