开启我的个人之旅
欢迎来到我的网站 寻觅~流光! 我的GitHub 我的力扣 我的CSDN 男大一枚 在广州上学中…… 目前大二广州在读软件工程 2024年10月15日,这是我创建博客的第一天!记录一下 2024年12月18日网站字数100k(^_^) 2025年1月2日访客数突破1000(^_^) 2025年:2月目标:未完待续…… 1月目标: 完成leetcode题目200道题 2024年:12月目标: 完成leetcode题目100道题 [2024年12月2日-12月24日完成] 完成go语言基础学习 [2024年12月21-23日完成]
React
react安装react项目: 1npx create-react-app your-project-name 启动项目: 1npm start jsx: JSX(JavaScript XML)是一种在React中使用的语法扩展,它看起来很像HTML,但实际上是JavaScript的一种语法糖。JSX使得编写和读取组件的结构更加直观,就是JavaScript和html的缩写. 可以在js代码中编写html代码 jsx不能在浏览器中进行运行,而是需要一个解析工具进行解析之后才能够进行运行 语法通过{}的形式来展示数据 12345678910111213141516const username = "admin";const numbwe = 123function App() { return ( <div className="App"> {username} {numbwe} ...
登录页面设计
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link...
Svelte
1. 概述 Svelte 是一个前端框架,专注于编译时优化,区别于 React 和 Vue,它通过在编译时将组件转化为高效的 JavaScript 代码,消除了虚拟 DOM 的性能开销。 响应性:数据变化会直接影响视图,Svelte 利用编译时的静态分析自动处理组件的更新和重新渲染。 无框架运行时:Svelte 生成的代码没有框架运行时,这使得生成的应用体积小、性能高。 2. 基础概念 Svelte 文件:每个组件是一个 .svelte 文件,包含三个部分:HTML、JavaScript、CSS。 HTML:组件的结构和模板。 JavaScript:组件的逻辑和数据。 CSS:样式表,支持局部样式。 组件:Svelte 的应用由多个组件组成,每个组件是独立的封装单元。组件间可以通过 props、events 和 store 进行交互。 编译过程:在开发时,Svelte 会将 .svelte 文件中的代码转化为高效的 JavaScript,减少运行时依赖,减少浏览器负担。 3. 响应式设计 响应式声明(Reactivity):Svelte...
微信小程序
###全局属性 app.json 配置文件结构 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677{ "pages": [ "pages/index/index", // 启动页,进入小程序时首先展示的页面 "pages/logs/logs" // 第二个页面,通常用于展示日志或其他信息 // ...... ], "window": { "navigationBarBackgroundColor": "#ffffff", // 导航栏背景色,通常设置为白色或主题色 "navigationBarTitleText":...
stack(c++)
stack(c++)<stack> 是 C++ 标准库中的一个容器适配器,提供了一个后进先出 (LIFO) 栈的实现。 1. 引入头文件1#include <stack> 2. 声明与初始化12stack<int> s; // 创建一个存储 int 类型的栈stack<string> ss; // 创建一个存储 string 类型的栈 3. 常用方法 方法/成员 作用 复杂度 示例代码 push(val) 将元素 val 添加到栈顶 O(1) s.push(10); pop() 移除栈顶元素 O(1) s.pop(); top() 返回栈顶元素的引用,但不移除 O(1) int topElem = s.top(); empty() 判断栈是否为空,返回 true 或 false O(1) if (s.empty()) { /* do something */ } size() 返回栈中元素的个数 O(1) cout <<...
数据结构-代码模板
prim1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include<iostream>#define max_number 9999using namespace std;typedef struct Graph { int vexsnums;// 表示顶点的个数 int arcsnums;// 表示边的个数 int arcs[20][20];// 边的信息 char vexs[20];// 顶点的信息};typedef struct CloseEdge { // 定义一个辅助的数组 char vexs;// 记录顶点 int weight;// 记录这个顶点到这个已经有的树的最小距离};CloseEdge* InitCloseEdge(Graph* G, int indexnumber) { // 初始化这个距离prim树最小距离 CloseEdge* closeedge = new...
string(c++)
string(c++)一.字符串方法1. 构造函数 string()创建一个空字符串。 string(const string& str)复制构造函数,复制另一个字符串。 string(string&& str)移动构造函数,移动一个临时字符串。 string(const char\* s)从 C 风格字符串创建一个字符串。 string(size_t n, char c)创建一个包含 n 个字符 c 的字符串。 2. 赋值操作符 string& operator=(const string& str)将另一个字符串的内容赋值给当前字符串。 string& operator=(string&& str)将另一个字符串的内容移动到当前字符串。 string& operator=(const char\* s)将 C 风格字符串 s 赋值给当前字符串。 3. 访问字符 char& operator[](size_t pos)通过下标访问字符(没有范围检查)。 const char&...
pair(c++)
pair(c++)1. 基本概念什么是 std::pair?std::pair 是一个 模板类,专门用来存储两个数据项(first 和 second),这些数据项可以是相同类型,也可以是不同类型。 2. pair 的底层设计模板声明pair 的模板声明如下: 123456789101112131415161718192021222324252627282930template<class T1, class T2>struct pair { T1 first; // 第一个元素 T2 second; // 第二个元素 // 构造函数 constexpr pair(); constexpr pair(const T1& a, const T2& b); template<class U1, class U2> constexpr pair(U1&& a, U2&& b); // 拷贝和移动构造 constexpr pair(const...
vector(c++)
vector(c++)一、概述1. vector的作用vector 是 C++ STL 提供的一个动态数组容器。它不仅能像普通数组一样存储和访问数据,还支持动态扩展、插入和删除操作,同时保持元素的连续存储,方便使用指针操作。 2. vector的优缺点优点: 动态扩展:能够根据需要自动调整大小,无需手动管理内存。 连续存储:提供数组级别的性能,支持随机访问(O(1) 时间复杂度)。 多样接口:封装了丰富的操作方法,例如插入、删除、排序等。 缺点: 扩容开销:当容量不足时,vector 会重新分配更大的内存并复制原有数据,效率降低。 非尾部操作效率低:在中间插入或删除元素需要移动大量数据。 二、底层实现原理1. 内存管理 vector 使用动态数组存储数据。 每当元素数量超过当前容量时,会触发扩容。扩容通常以原来容量的 2 倍 为单位进行。 扩容流程: 分配一块更大的内存。 将原有数据复制到新内存中。 释放旧内存。 2. 扩容性能分析 触发扩容:当 size 达到 capacity 时。 扩容成本:触发扩容时,所有元素都会被复制到新内存,时间复杂度为...