Compare commits

..

2 Commits

473 changed files with 9 additions and 18904 deletions

8
.gitignore vendored
View File

@@ -2,3 +2,11 @@
cache cache
.temp .temp
package-lock.json package-lock.json
dist
.vitepress/dist
.vitest
.vscode
.env
.env.local
.env.development.local
.env.test.local

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{_ as e,c as a,o as r,a4 as t}from"./chunks/framework.DtvhUNIn.js";const u=JSON.parse('{"title":"2.1.0 (2024-07-29)","description":"","frontmatter":{},"headers":[],"relativePath":"CHANGELOG.md","filePath":"CHANGELOG.md"}'),c={name:"CHANGELOG.md"},i=t("",53),b=[i];function h(f,l,d,m,o,s){return r(),a("div",null,b)}const g=e(c,[["render",h]]);export{u as __pageData,g as default};

View File

@@ -1,247 +0,0 @@
import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DtvhUNIn.js";const y=JSON.parse('{"title":"贡献指南","description":"","frontmatter":{},"headers":[],"relativePath":"CONTRIBUTING.md","filePath":"CONTRIBUTING.md"}'),p={name:"CONTRIBUTING.md"},l=n(`<h1 id="贡献指南" tabindex="-1">贡献指南 <a class="header-anchor" href="#贡献指南" aria-label="Permalink to &quot;贡献指南&quot;"></a></h1><p>感谢您的贡献,并感谢您在执行贡献操作之前阅读此文档!</p><h2 id="致新贡献者" tabindex="-1">致新贡献者 <a class="header-anchor" href="#致新贡献者" aria-label="Permalink to &quot;致新贡献者&quot;"></a></h2><p>欢迎你的到来,非常感谢你愿意一起建设 FZU-WIKI 💖。</p><p>初次参与,你遇到任何问题都可以直接反馈到本仓库,包括但不限于:</p><ul><li>开发环境搭建时遇到任何问题。</li><li>文档遇到任何问题(笔误,格式,错误等)。</li></ul><p>如果你在运行项目的时候发现任何不符合预期或不合理的地方,请直接提交 Issue 反馈和 Bug 报告!</p><h2 id="如何贡献" tabindex="-1">如何贡献 <a class="header-anchor" href="#如何贡献" aria-label="Permalink to &quot;如何贡献&quot;"></a></h2><p>我们欢迎各种贡献,包括但不限于:</p><ul><li>新功能Feature</li><li>代码构建、CI/CD</li><li>Bug 修复</li><li>文档内容增删改</li><li>Issue 分类、发起、回复、管理、维护</li><li>网站页面设计</li><li>在各种媒体、博客文章、群内宣传 FZU-WIKI</li></ul><h2 id="文档命名" tabindex="-1">文档命名 <a class="header-anchor" href="#文档命名" aria-label="Permalink to &quot;文档命名&quot;"></a></h2><ol><li><p>对于 md 文件,请命名为 <code>数字与小数点前缀+文档标题</code> 的格式</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>1.1.2 新内容.md</span></span>
<span class="line"><span>2. 序言.md</span></span></code></pre></div></li><li><p>如果您需要开启新的小章节模块,请新建一个文件夹,文件夹的命名格式与 md 文件类似,为 <code>数字与小数点前缀+模块名</code></p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>2.2 模块 2</span></span></code></pre></div></li><li><p>不论是 md 文件还是文件夹,请不要使用字母或其他特殊符号作为前缀</p></li></ol><p>一个合理的文档结构如下:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>.</span></span>
<span class="line"><span>└─ 1.第一章</span></span>
<span class="line"><span>   ├── 1.1 模块 1</span></span>
<span class="line"><span>   │   ├── 1.1.10 JavaScript.md</span></span>
<span class="line"><span>   │   ├── 1.1.11 Lua.md</span></span>
<span class="line"><span>   │   ├── 1.1.12 Lisp.md</span></span>
<span class="line"><span>   │   ├── 1.1.1 Ruby.md</span></span>
<span class="line"><span>   │   ├── 1.1.2 Java.md</span></span>
<span class="line"><span>   │   ├── 1.1.3 C++.md</span></span>
<span class="line"><span>   │   ├── 1.1.4 C.md</span></span>
<span class="line"><span>   │   ├── 1.1.5 Math.md</span></span>
<span class="line"><span>   │   ├── 1.1.6 Matlab.md</span></span>
<span class="line"><span>   │   ├── 1.1.7 React.md</span></span>
<span class="line"><span>   │   ├── 1.1.8 Jupyter.md</span></span>
<span class="line"><span>   │   └── 1.1.9 Vue.md</span></span>
<span class="line"><span>   ├── 1.2 模块 2</span></span>
<span class="line"><span>   │   ├── 1.2.1 C#.md</span></span>
<span class="line"><span>   │   ├── 1.2.2 Python.md</span></span>
<span class="line"><span> │ └── static</span></span>
<span class="line"><span>   ├── 1.3 结语.md</span></span>
<span class="line"><span>   ├── 1. 序言.md</span></span>
<span class="line"><span>   └── static</span></span></code></pre></div><p>static 文件夹用于存放您的静态资源,如图片,您也可以在模块文件夹下放置新的 static 文件夹,方便引用资源</p><h2 id="文档风格" tabindex="-1">文档风格 <a class="header-anchor" href="#文档风格" aria-label="Permalink to &quot;文档风格&quot;"></a></h2><ol><li><p>使用 Markdown 编写文档,文档格式参考 Markdown 语法。</p></li><li><p>一个页面必须且只有一个1级标题H1一个#其他标题从2级开始H2##)。</p></li><li><p>本项目自动在英文与中文、数字与中文之间添加空格。</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> AI 与人工智能AGI 的发展方向。</span></span></code></pre></div></li><li><p>标题内的英文单词首字母大写。</p></li><li><p>代码块使用 <code>\`\`\`</code> 包裹,并标注常见的语言标识符,如 <code>\`\`\`python</code> ,其作用是使代码正常高亮。</p></li></ol><details class="details custom-block"><summary>代码高亮支持的语言</summary><div class="language-ts vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> type</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> Lang</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;abap&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;actionscript-3&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ada&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;apache&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;apex&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;apl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;applescript&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ara&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;asm&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;astro&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;awk&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ballerina&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;bat&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;batch&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;beancount&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;berry&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;be&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;bibtex&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;bicep&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;blade&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;c&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;cadence&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;cdc&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;clarity&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;clojure&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;clj&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;cmake&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;cobol&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;codeql&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ql&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;coffee&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;cpp&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;crystal&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;csharp&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;c#&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;cs&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;css&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;cue&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;cypher&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;cql&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;d&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;dart&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;dax&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;diff&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;docker&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;dockerfile&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;dream-maker&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;elixir&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;elm&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;erb&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;erlang&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;erl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;fish&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;fsharp&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;f#&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;fs&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;gdresource&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;gdscript&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;gdshader&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;gherkin&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;git-commit&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;git-rebase&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;glimmer-js&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;gjs&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;glimmer-ts&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;gts&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;glsl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;gnuplot&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;go&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;graphql&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;groovy&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;hack&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;haml&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;handlebars&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;hbs&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;haskell&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;hs&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;hcl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;hjson&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;hlsl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;html&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;http&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;imba&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ini&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;properties&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;java&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;javascript&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;js&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;jinja-html&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;jison&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;json&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;json5&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;jsonc&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;jsonl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;jsonnet&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;jssm&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;fsl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;jsx&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;julia&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;kotlin&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;kusto&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;kql&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;latex&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;less&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;liquid&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;lisp&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;logo&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;lua&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;make&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;makefile&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;markdown&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;md&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;marko&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;matlab&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;mdx&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;mermaid&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;mojo&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;narrat&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;nar&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;nextflow&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;nf&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;nginx&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;nim&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;nix&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;objective-c&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;objc&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;objective-cpp&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ocaml&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;pascal&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;perl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;php&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;plsql&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;postcss&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;powerquery&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;powershell&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ps&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ps1&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;prisma&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;prolog&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;proto&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;pug&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;jade&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;puppet&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;purescript&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;python&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;py&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;r&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;raku&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;perl6&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;razor&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;reg&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;rel&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;riscv&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;rst&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ruby&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;rb&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;rust&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;rs&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;sas&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;sass&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;scala&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;scheme&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;scss&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;shaderlab&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;shader&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;shellscript&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;bash&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;sh&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;shell&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;zsh&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;shellsession&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;console&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;smalltalk&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;solidity&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;sparql&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;splunk&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;spl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;sql&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ssh-config&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;stata&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;stylus&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;styl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;svelte&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;swift&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;system-verilog&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;tasl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;tcl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;tex&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;toml&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;tsx&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;turtle&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;twig&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;typescript&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;ts&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;v&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vb&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;cmd&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;verilog&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vhdl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;viml&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vim&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vimscript&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vue-html&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vue&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vyper&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vy&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;wasm&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;wenyan&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;文言&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;wgsl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;wolfram&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;xml&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;xsl&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;yaml&#39;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;yml&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;zenscript&#39;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> |</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;zig&#39;</span></span></code></pre></div></details><div class="tip custom-block"><p class="custom-block-title">🤓 注意</p><p>尽量不要使用 <code>typora</code> 等编辑器编辑完 .md文件后直接提交因为它的渲染效果和本项目前端 md 渲染器 <code>vitepress markdown-it</code> 不一致。</p><p>在 <code>typora</code> 中编辑完成后,确认一下 .md 文件源代码是否为正常 Markdown 。</p><p>编辑完成后请务必启动本项目在前端查看效果。</p></div><h2 id="项目构建指南" tabindex="-1">项目构建指南 <a class="header-anchor" href="#项目构建指南" aria-label="Permalink to &quot;项目构建指南&quot;"></a></h2><p>vitepress 框架要求,强制需要 nodejs v18.0 及以上版本。</p><p>本项目使用包管理器 npm。</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docs:dev</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> #运行预览环境</span></span></code></pre></div><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docs:build</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> #编译线上环境</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docs:preview</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> #预览线上环境</span></span></code></pre></div><h2 id="图片放置指南" tabindex="-1">图片放置指南 <a class="header-anchor" href="#图片放置指南" aria-label="Permalink to &quot;图片放置指南&quot;"></a></h2><p>图片放置在当前大章节的 <code>static</code> 目录下,然后在 md 文件中使用相对路径引用。</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">![](</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;--shiki-light-text-decoration:underline;--shiki-dark-text-decoration:underline;">static/xxx.png</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div><p>注意尽量不要使用 <code>img</code> 这个 HTML 标签,因为经前端构建解析后路径会不正确。</p><p>后续会统一放置到 cos 存储桶中。</p><h2 id="项目配置指南" tabindex="-1">项目配置指南 <a class="header-anchor" href="#项目配置指南" aria-label="Permalink to &quot;项目配置指南&quot;"></a></h2><div class="warning custom-block"><p class="custom-block-title">🚧 注意</p><p>如果改了文件路径却没有配置 <code>.vitepress/config.js</code>、<code>.vitepress/sidebar.js</code> 文件会导致项目构建失败。</p></div><p>修改新添加或移动位置的 md 文件需要在 <code>.vitepress/config.js</code>、<code>.vitepress/sidebar.js</code> 中添加或修改对应的配置。</p><blockquote><p>sidebar.js 文件会管理显示在左侧导航栏的所有路由</p></blockquote><p>详见 <a href="https://vitepress.dev/reference/default-theme-sidebar" target="_blank" rel="noreferrer">VitePress 官方文档</a></p><h2 id="如何使用-git-和-github" tabindex="-1">如何使用 Git 和 Github <a class="header-anchor" href="#如何使用-git-和-github" aria-label="Permalink to &quot;如何使用 Git 和 Github&quot;"></a></h2><p>详见 <a href="./技术资源汇总(杭电支持版)/3.编程思维体系构建/3.5git与github.html">3.5 Git和Github</a></p><h2 id="commit-message-规范" tabindex="-1">Commit Message 规范 <a class="header-anchor" href="#commit-message-规范" aria-label="Permalink to &quot;Commit Message 规范&quot;"></a></h2><div class="tip custom-block"><p class="custom-block-title">🐒</p><p>本项目没有强制使用 <a href="https://github.com/conventional-changelog/commitlint" target="_blank" rel="noreferrer">commitlint</a> ,但是建议遵循以下规范。</p><blockquote><p>commitlint : 一个提交检查插件 ,可以在提交前检查 commit message 是否符合规范。</p></blockquote><p>本项目选用的规范为 <a href="https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional" target="_blank" rel="noreferrer">@commitlint/config-conventional</a>(基于 <a href="https://github.com/angular/angular/blob/22b96b9/CONTRIBUTING.md#-commit-message-guidelines" target="_blank" rel="noreferrer">Angular</a> 约定)</p></div><p>本项目遵循以下 commit message 规范:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">模板:</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">scope</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">): subject</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">type为commit的类型</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> feat:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 新特性</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> fix:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 修改问题</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> refactor:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 代码重构</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> docs:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 文档修改</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> style:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 代码格式修改</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> test</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 测试用例修改</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> chore:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 其他修改,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 比如构建流程,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 依赖管理</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> perf:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 性能提升的修改</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> build:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 对项目构建或者依赖的改动</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ci:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> CI</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 的修改</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> revert:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> revert</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 前一个</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> commit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">撤销前一个commit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">scope是文件名</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 模块名</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 影响的范围</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> 例如</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> schoolSchedule</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">subject为commit概述</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> 建议符合</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 50</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 72</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> formatting</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> </span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">例</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> feat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">JoinForm</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> success</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> submit</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> tips</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">冒号后方可以使用中文描述</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">注意</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 冒号和subject之间要加空格</span></span></code></pre></div><p>其中详细内容可以参照 <a href="https://www.conventionalcommits.org/zh-hans/v1.0.0/" target="_blank" rel="noreferrer">约定式提交</a></p><p>本项目额外有使用 semantic-release 自动化版本发布,所以请务必遵循规范提交。</p><p>注意fix、feat、BREAKING CHANGE 这三种类型的提交会触发自动版本发布。</p><p><img src="https://img.shields.io/badge/Conventional%20Commits-1.0.0-%23FE5196?logo=conventionalcommits&amp;logoColor=white" alt="Conventional Commits"></p><h2 id="pull-request-流程与指南" tabindex="-1">Pull Request 流程与指南 <a class="header-anchor" href="#pull-request-流程与指南" aria-label="Permalink to &quot;Pull Request 流程与指南&quot;"></a></h2><p>Fork 本仓库,然后在你的仓库中进行修改,修改完成后在本仓库创建 NEW Pull Request ,选择 compare across forks 提交 pr 并评论上你修改的具体信息即可,我们会第一时间审阅并合并。</p><h2 id="feature" tabindex="-1">Feature <a class="header-anchor" href="#feature" aria-label="Permalink to &quot;Feature&quot;"></a></h2><ol><li><p>Markdown 内支持Latex公式格式为单行公式双dollar符号、单行公式单dollar符号。单行公式需要换行才能解析例如</p><div class="language-latex vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">latex</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">$</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">行内公式\\arccos{a}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">$</span></span></code></pre></div><blockquote><p>会渲染成 $\\arccos{a}$</p></blockquote><div class="language-latex vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">latex</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">$$</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">单行公式\\arcsin{b}</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">$$</span></span></code></pre></div><blockquote><p>会渲染成</p><p>$$\\arcsin{b}$$</p></blockquote><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>Latex语法在线编辑器 <a href="https://www.latexlive.com" target="_blank" rel="noreferrer">https://www.latexlive.com</a></p></div></li><li><p>支持Mermaid流程图格式如下</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> \`\`\`mermaid</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> graph TD;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> A--&gt;B;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> A--&gt;C;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> B--&gt;D;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> C--&gt;D;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> \`\`\`</span></span></code></pre></div><p>会渲染成</p><div class="language-mermaid vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">mermaid</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">graph TD;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> A--&gt;B;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> A--&gt;C;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> B--&gt;D;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> C--&gt;D;</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>语法自查 <a href="https://mermaid.js.org" target="_blank" rel="noreferrer">https://mermaid.js.org</a></p></div></li><li><p>代码分块</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span> ::: code-group</span></span>
<span class="line"><span></span></span>
<span class="line"><span> \`\`\`sh [npm]</span></span>
<span class="line"><span> $ npm install -D vitepress</span></span>
<span class="line"><span> \`\`\`</span></span>
<span class="line"><span></span></span>
<span class="line"><span> \`\`\`sh [pnpm]</span></span>
<span class="line"><span> $ pnpm add -D vitepress</span></span>
<span class="line"><span> \`\`\`</span></span>
<span class="line"><span></span></span>
<span class="line"><span> \`\`\`sh [yarn]</span></span>
<span class="line"><span> $ yarn add -D vitepress</span></span>
<span class="line"><span> \`\`\`</span></span>
<span class="line"><span></span></span>
<span class="line"><span> :::</span></span></code></pre></div><div class="vp-code-group vp-adaptive-theme"><div class="tabs"><input type="radio" name="group-FNAAh" id="tab-TJ_xq3R" checked><label for="tab-TJ_xq3R">npm</label><input type="radio" name="group-FNAAh" id="tab-K3ND567"><label for="tab-K3ND567">pnpm</label><input type="radio" name="group-FNAAh" id="tab-6igjUg6"><label for="tab-6igjUg6">yarn</label></div><div class="blocks"><div class="language-sh vp-adaptive-theme active"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -D</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> vitepress</span></span></code></pre></div><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> pnpm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -D</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> vitepress</span></span></code></pre></div><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> yarn</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -D</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> vitepress</span></span></code></pre></div></div></div></li><li><p>图片缩放</p></li></ol><p>图片默认支持缩放,鼠标悬浮图片上方会出现放大镜图标,点击即可放大图片。</p><p>如果不想让图片缩放可以在图片class内后添加 <code>no-zoom</code> 参数。</p><p>markdown 的使用方式如下</p><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;--shiki-light-font-weight:bold;--shiki-dark-font-weight:bold;"># 默认(支持缩放)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">![](</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;--shiki-light-text-decoration:underline;--shiki-dark-text-decoration:underline;">static/xxx.png</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span></code></pre></div><div class="language-markdown vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">markdown</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;--shiki-light-font-weight:bold;--shiki-dark-font-weight:bold;"># 不支持缩放</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">![](</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;--shiki-light-text-decoration:underline;--shiki-dark-text-decoration:underline;">static/xxx.png</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">){.no-zoom}</span></span></code></pre></div>`,53),h=[l];function k(t,e,F,d,r,g){return a(),i("div",null,h)}const o=s(p,[["render",k]]);export{y as __pageData,o as default};

View File

@@ -1 +0,0 @@
import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DtvhUNIn.js";const y=JSON.parse('{"title":"贡献指南","description":"","frontmatter":{},"headers":[],"relativePath":"CONTRIBUTING.md","filePath":"CONTRIBUTING.md"}'),p={name:"CONTRIBUTING.md"},l=n("",53),h=[l];function k(t,e,F,d,r,g){return a(),i("div",null,h)}const o=s(p,[["render",k]]);export{y as __pageData,o as default};

View File

@@ -1,2 +0,0 @@
import{_ as a,c as e,o as i,a4 as s}from"./chunks/framework.DtvhUNIn.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"README.md","filePath":"README.md"}'),t={name:"README.md"},n=s(`<div align="center"><img src="https://cdn.xyxsw.site/hdu-cs-wiki%20full.svg" alt="logo" width="450rem" height="450rem"></div><h1 align="center">FZU-WIKI</h1><pre align="center">喜欢本项目可以点击右上角 “点赞” 收藏哦🎇</pre><h2 id="📖-项目介绍" tabindex="-1">📖 项目介绍 <a class="header-anchor" href="#📖-项目介绍" aria-label="Permalink to &quot;📖 项目介绍&quot;"></a></h2><p>FZU-WIKI 是福州大学星航电子工作室自发组织的一个开源项目,旨在为全校学生提供一个全面、系统、易用的小百科全书,方便新生以及在校同学快速了解学校方方面面,同时为同学提供学习和生活方面的帮助。</p><p>该项目将完全由校内全体学生共同维护,欢迎任何有想法且具备开源精神的伙伴加入到项目贡献中来,完成这项接力式项目的迭代与完善!</p><p>项目完全开源,未来计划划分多个文档模块,交由各个学院代表同学负责维护,以最大限度保证项目文档的实时性和准确性。</p><h2 id="🌟-项目特色" tabindex="-1">🌟 项目特色 <a class="header-anchor" href="#🌟-项目特色" aria-label="Permalink to &quot;🌟 项目特色&quot;"></a></h2><ul><li><strong>全面性</strong>:涵盖学校各个方面的信息,目前主要涵盖学习和生活两大板块。</li><li><strong>易用性</strong>:采用简洁明了的界面设计,同时支持全页面模糊查询,方便同学快速查找所需信息。</li><li><strong>开放性</strong>:项目完全开源,欢迎任何有想法且具备开源精神的伙伴加入到项目贡献中来。</li><li><strong>持续更新</strong>:项目将不断更新,确保信息的时效性和准确性。</li></ul><h2 id="🚀-项目支持" tabindex="-1">🚀 项目支持 <a class="header-anchor" href="#🚀-项目支持" aria-label="Permalink to &quot;🚀 项目支持&quot;"></a></h2><ul><li>本项目基于hdu-cs-wiki项目进行二次开发感谢hdu-cs-wiki团队的无私奉献</li><li>本项目q&amp;a模块数据来自“福州大学新生群”(QQ群号:829337155)管理员“23 落枫F.M.”对群内问答的总结,感谢落枫大佬的无私奉献!</li><li>本项目由星航电子工作室提供技术支持。</li></ul><h2 id="🤝-贡献者" tabindex="-1">🤝 贡献者 <a class="header-anchor" href="#🤝-贡献者" aria-label="Permalink to &quot;🤝 贡献者&quot;"></a></h2><p>感谢所有为本项目做出贡献的同学,你们的努力让本项目更加完善!</p><h2 id="📝-许可证" tabindex="-1">📝 许可证 <a class="header-anchor" href="#📝-许可证" aria-label="Permalink to &quot;📝 许可证&quot;"></a></h2><p>本作品采用 <code>知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆</code> 许可协议进行许可。 要查看该许可协议, 可访问<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/cn/" target="_blank" rel="noreferrer">这里</a> 或者写信到 Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.</p><p>© 2022. 此文章采用 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/cn/" target="_blank" rel="noreferrer"><strong>CC BY-NC-SA 3.0 CN</strong></a> 许可授权。</p><h2 id="📣-部署方式" tabindex="-1">📣 部署方式 <a class="header-anchor" href="#📣-部署方式" aria-label="Permalink to &quot;📣 部署方式&quot;"></a></h2><h3 id="_1-克隆项目" tabindex="-1">1. 克隆项目 <a class="header-anchor" href="#_1-克隆项目" aria-label="Permalink to &quot;1. 克隆项目&quot;"></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clone</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://gitea.xinxijishubu.asia/moyin/fzu-product.git</span></span></code></pre></div><h3 id="_2-安装依赖" tabindex="-1">2. 安装依赖 <a class="header-anchor" href="#_2-安装依赖" aria-label="Permalink to &quot;2. 安装依赖&quot;"></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> FZU-WIKI</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">yarn</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span></span></code></pre></div><h3 id="_3-启动项目" tabindex="-1">3. 启动项目 <a class="header-anchor" href="#_3-启动项目" aria-label="Permalink to &quot;3. 启动项目&quot;"></a></h3><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> docs:dev</span></span></code></pre></div><h3 id="_4-访问项目" tabindex="-1">4. 访问项目 <a class="header-anchor" href="#_4-访问项目" aria-label="Permalink to &quot;4. 访问项目&quot;"></a></h3><p>在浏览器中访问 <code>http://localhost:5173</code> 即可查看项目。</p>`,25),l=[n];function h(r,o,d,c,p,k){return i(),e("div",null,l)}const b=a(t,[["render",h]]);export{g as __pageData,b as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as i,a4 as s}from"./chunks/framework.DtvhUNIn.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"README.md","filePath":"README.md"}'),t={name:"README.md"},n=s("",25),l=[n];function h(r,o,d,c,p,k){return i(),e("div",null,l)}const b=a(t,[["render",h]]);export{g as __pageData,b as default};

View File

@@ -1,16 +0,0 @@
import{u as h,c as p,j as s,t as i,k as e,a4 as r,a,o as k}from"./chunks/framework.DtvhUNIn.js";const d=r(`<h1 id="runtime-api-examples" tabindex="-1">Runtime API Examples <a class="header-anchor" href="#runtime-api-examples" aria-label="Permalink to &quot;Runtime API Examples&quot;"></a></h1><p>This page demonstrates usage of some of the runtime APIs provided by VitePress.</p><p>The main <code>useData()</code> API can be used to access site, theme, and page data for the current page. It works in both <code>.md</code> and <code>.vue</code> files:</p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { useData } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vitepress&#39;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">theme</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">page</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">frontmatter</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> useData</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;--shiki-light-font-weight:bold;--shiki-dark-font-weight:bold;">## Results</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;--shiki-light-font-weight:bold;--shiki-dark-font-weight:bold;">### Theme Data</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">pre</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;{{ theme }}&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">pre</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">### Page Data</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">pre</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;{{ page }}&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">pre</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">### Page Frontmatter</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">pre</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;{{ frontmatter }}&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">pre</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div><h2 id="results" tabindex="-1">Results <a class="header-anchor" href="#results" aria-label="Permalink to &quot;Results&quot;"></a></h2><h3 id="theme-data" tabindex="-1">Theme Data <a class="header-anchor" href="#theme-data" aria-label="Permalink to &quot;Theme Data&quot;"></a></h3>`,6),o=s("h3",{id:"page-data",tabindex:"-1"},[a("Page Data "),s("a",{class:"header-anchor",href:"#page-data","aria-label":'Permalink to "Page Data"'},"")],-1),E=s("h3",{id:"page-frontmatter",tabindex:"-1"},[a("Page Frontmatter "),s("a",{class:"header-anchor",href:"#page-frontmatter","aria-label":'Permalink to "Page Frontmatter"'},"")],-1),g=s("h2",{id:"more",tabindex:"-1"},[a("More "),s("a",{class:"header-anchor",href:"#more","aria-label":'Permalink to "More"'},"")],-1),c=s("p",null,[a("Check out the documentation for the "),s("a",{href:"https://vitepress.dev/reference/runtime-api#usedata",target:"_blank",rel:"noreferrer"},"full list of runtime APIs"),a(".")],-1),D=JSON.parse('{"title":"Runtime API Examples","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"api-examples.md","filePath":"api-examples.md"}'),m={name:"api-examples.md"},F=Object.assign(m,{setup(u){const{site:y,theme:t,page:n,frontmatter:l}=h();return(_,f)=>(k(),p("div",null,[d,s("pre",null,i(e(t)),1),o,s("pre",null,i(e(n)),1),E,s("pre",null,i(e(l)),1),g,c]))}});export{D as __pageData,F as default};

View File

@@ -1 +0,0 @@
import{u as h,c as p,j as s,t as i,k as e,a4 as r,a,o as k}from"./chunks/framework.DtvhUNIn.js";const d=r("",6),o=s("h3",{id:"page-data",tabindex:"-1"},[a("Page Data "),s("a",{class:"header-anchor",href:"#page-data","aria-label":'Permalink to "Page Data"'},"")],-1),E=s("h3",{id:"page-frontmatter",tabindex:"-1"},[a("Page Frontmatter "),s("a",{class:"header-anchor",href:"#page-frontmatter","aria-label":'Permalink to "Page Frontmatter"'},"")],-1),g=s("h2",{id:"more",tabindex:"-1"},[a("More "),s("a",{class:"header-anchor",href:"#more","aria-label":'Permalink to "More"'},"")],-1),c=s("p",null,[a("Check out the documentation for the "),s("a",{href:"https://vitepress.dev/reference/runtime-api#usedata",target:"_blank",rel:"noreferrer"},"full list of runtime APIs"),a(".")],-1),D=JSON.parse('{"title":"Runtime API Examples","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"api-examples.md","filePath":"api-examples.md"}'),m={name:"api-examples.md"},F=Object.assign(m,{setup(u){const{site:y,theme:t,page:n,frontmatter:l}=h();return(_,f)=>(k(),p("div",null,[d,s("pre",null,i(e(t)),1),o,s("pre",null,i(e(n)),1),E,s("pre",null,i(e(l)),1),g,c]))}});export{D as __pageData,F as default};

View File

@@ -1 +0,0 @@
import{t as p}from"./chunks/theme.abx7spag.js";import{U as o,a5 as u,a6 as c,a7 as l,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,ae as y,d as P,u as v,y as C,x as b,af as w,ag as E,ah as R,ai as S}from"./chunks/framework.DtvhUNIn.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(p),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return C(()=>{b(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&w(),E(),R(),s.setup&&s.setup(),()=>S(s.Layout)}});async function x(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function D(){return g(T)}function _(){let e=o,a;return A(t=>{let n=y(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&x().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{x as createApp};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{V as e}from"./chunks/theme.abx7spag.js";import{c as i,I as s,k as t,j as a,a as n,o as r}from"./chunks/framework.DtvhUNIn.js";const o=[{avatar:"https://avatars.githubusercontent.com/u/177922725?s=400&u=b01cbf836e5e2885a16e892e08a58af92bdd23fa&v=4",name:"xinghang",title:"Maintainer",links:[{icon:"github",link:"https://github.com/xinghang-ee"}]},{avatar:"https://gitea.xinxijishubu.asia/avatars/16c385a504c5ab7d1072949846e6a6258d89c5c7453964fb28806c824fa4a2b8?size=512",name:"moyin",title:"Maintainer",links:[{icon:"github",link:"https://gitea.xinxijishubu.asia/moyin"}]},{avatar:"https://avatars.hdu-cs.wiki/wjj1117",name:"WJJ",title:"Maintainer",links:[{icon:"github",link:"https://github.com/wjj1117"}]},{avatar:"https://gitea.xinxijishubu.asia/avatar/3344e9e767a6e8551d755367d190e6a3?size=512",name:"kitor",title:"Maintainer",links:[{icon:"github",link:"https://gitea.xinxijishubu.asia/kitor"}]}],c=a("h1",{id:"贡献者名单",tabindex:"-1"},[n("贡献者名单 "),a("a",{class:"header-anchor",href:"#贡献者名单","aria-label":'Permalink to "贡献者名单"'},"")],-1),h=a("p",null,"以下为对本项目做出贡献的人员名单,排名不分先后。",-1),g=JSON.parse('{"title":"贡献者名单","description":"","frontmatter":{},"headers":[],"relativePath":"contributors.md","filePath":"contributors.md"}'),l={name:"contributors.md"},_=Object.assign(l,{setup(u){return(m,b)=>(r(),i("div",null,[c,h,s(t(e),{size:"small",members:t(o)},null,8,["members"])]))}});export{g as __pageData,_ as default};

View File

@@ -1 +0,0 @@
import{V as e}from"./chunks/theme.abx7spag.js";import{c as i,I as s,k as t,j as a,a as n,o as r}from"./chunks/framework.DtvhUNIn.js";const o=[{avatar:"https://avatars.githubusercontent.com/u/177922725?s=400&u=b01cbf836e5e2885a16e892e08a58af92bdd23fa&v=4",name:"xinghang",title:"Maintainer",links:[{icon:"github",link:"https://github.com/xinghang-ee"}]},{avatar:"https://gitea.xinxijishubu.asia/avatars/16c385a504c5ab7d1072949846e6a6258d89c5c7453964fb28806c824fa4a2b8?size=512",name:"moyin",title:"Maintainer",links:[{icon:"github",link:"https://gitea.xinxijishubu.asia/moyin"}]},{avatar:"https://avatars.hdu-cs.wiki/wjj1117",name:"WJJ",title:"Maintainer",links:[{icon:"github",link:"https://github.com/wjj1117"}]},{avatar:"https://gitea.xinxijishubu.asia/avatar/3344e9e767a6e8551d755367d190e6a3?size=512",name:"kitor",title:"Maintainer",links:[{icon:"github",link:"https://gitea.xinxijishubu.asia/kitor"}]}],c=a("h1",{id:"贡献者名单",tabindex:"-1"},[n("贡献者名单 "),a("a",{class:"header-anchor",href:"#贡献者名单","aria-label":'Permalink to "贡献者名单"'},"")],-1),h=a("p",null,"以下为对本项目做出贡献的人员名单,排名不分先后。",-1),g=JSON.parse('{"title":"贡献者名单","description":"","frontmatter":{},"headers":[],"relativePath":"contributors.md","filePath":"contributors.md"}'),l={name:"contributors.md"},_=Object.assign(l,{setup(u){return(m,b)=>(r(),i("div",null,[c,h,s(t(e),{size:"small",members:t(o)},null,8,["members"])]))}});export{g as __pageData,_ as default};

View File

@@ -1 +0,0 @@
import{_ as l,c as t,o as e}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"FZU-WIKI","text":"FZU生存手册","tagline":"如果你有一些建议或者想要完善此 WIKI ,请点击下方的 GitHub 按钮查看我们的仓库提交 issue 或者 PR "},"features":[{"title":"使用指南","icon":"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"32\\" height=\\"32\\" viewBox=\\"0 0 32 32\\"><path fill=\\"currentColor\\" d=\\"M19 10h7v2h-7zm0 5h7v2h-7zm0 5h7v2h-7zM6 10h7v2H6zm0 5h7v2H6zm0 5h7v2H6z\\"/><path fill=\\"currentColor\\" d=\\"M28 5H4a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2M4 7h11v18H4Zm13 18V7h11v18Z\\"/></svg>","details":"本页面为FZU-WIKI的使用指南包括如何使用本WIKI如何提交issue如何提交PR等。","link":"/使用指南"},{"title":"福大生存指南","icon":"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"32\\" height=\\"32\\" viewBox=\\"0 0 32 32\\"><path fill=\\"currentColor\\" d=\\"M10 31H6a2.006 2.006 0 0 1-2-2v-7a2.006 2.006 0 0 1-2-2v-6a2.947 2.947 0 0 1 3-3h6a2.947 2.947 0 0 1 3 3v6a2.006 2.006 0 0 1-2 2v7a2.006 2.006 0 0 1-2 2M5 13a.945.945 0 0 0-1 1v6h2v9h4v-9h2v-6a.945.945 0 0 0-1-1zm3-3a4 4 0 1 1 4-4a4.005 4.005 0 0 1-4 4m0-6a2 2 0 1 0 2 2a2 2 0 0 0-2-2m20.766.256A4.21 4.21 0 0 0 23 4.032a4.21 4.21 0 0 0-5.766.224a4.32 4.32 0 0 0 0 6.044l5.764 5.84l.002-.002l.002.001l5.764-5.839a4.32 4.32 0 0 0 0-6.044m-1.424 4.639l-4.34 4.397L23 13.29l-.002.002l-4.34-4.397a2.31 2.31 0 0 1 0-3.234a2.264 2.264 0 0 1 3.156 0l1.181 1.207l.005-.005l.005.005l1.18-1.207a2.264 2.264 0 0 1 3.157 0a2.31 2.31 0 0 1 0 3.234\\"/></svg>","details":"福大生存指南为所有FZUer提供生存指南包括生活、学习等各方面。","link":"/福大生存指南/生存指南"},{"title":"技术资源汇总(杭电支持版)","icon":"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"32\\" height=\\"32\\" viewBox=\\"0 0 32 32\\"><path fill=\\"none\\" d=\\"m16 7l1.912 3.667l4.088.506l-3 2.753l.6 4.074l-3.6-2.292L12.4 18l.6-4.074l-3-2.753l4.2-.506z\\"/><path fill=\\"currentColor\\" d=\\"M16 2A11.013 11.013 0 0 0 5 13a10.9 10.9 0 0 0 2.216 6.6s.3.395.349.452L16 30l8.439-9.953c.044-.053.345-.447.345-.447l.001-.003A10.9 10.9 0 0 0 27 13A11.013 11.013 0 0 0 16 2m3.6 16L16 15.709L12.4 18l.6-4.074l-3-2.753l4.2-.507L16 7l1.912 3.667l4.088.506l-3 2.753Z\\"/></svg>","link":"/技术资源汇总(杭电支持版)/内容索引","details":"汇总了杭电开源项目hdu-cs-wiki开源的计算机相关技术讲义。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),a={name:"index.md"};function i(h,o,s,n,r,v){return e(),t("div")}const c=l(a,[["render",i]]);export{m as __pageData,c as default};

View File

@@ -1 +0,0 @@
import{_ as l,c as t,o as e}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"home","hero":{"name":"FZU-WIKI","text":"FZU生存手册","tagline":"如果你有一些建议或者想要完善此 WIKI ,请点击下方的 GitHub 按钮查看我们的仓库提交 issue 或者 PR "},"features":[{"title":"使用指南","icon":"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"32\\" height=\\"32\\" viewBox=\\"0 0 32 32\\"><path fill=\\"currentColor\\" d=\\"M19 10h7v2h-7zm0 5h7v2h-7zm0 5h7v2h-7zM6 10h7v2H6zm0 5h7v2H6zm0 5h7v2H6z\\"/><path fill=\\"currentColor\\" d=\\"M28 5H4a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2M4 7h11v18H4Zm13 18V7h11v18Z\\"/></svg>","details":"本页面为FZU-WIKI的使用指南包括如何使用本WIKI如何提交issue如何提交PR等。","link":"/使用指南"},{"title":"福大生存指南","icon":"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"32\\" height=\\"32\\" viewBox=\\"0 0 32 32\\"><path fill=\\"currentColor\\" d=\\"M10 31H6a2.006 2.006 0 0 1-2-2v-7a2.006 2.006 0 0 1-2-2v-6a2.947 2.947 0 0 1 3-3h6a2.947 2.947 0 0 1 3 3v6a2.006 2.006 0 0 1-2 2v7a2.006 2.006 0 0 1-2 2M5 13a.945.945 0 0 0-1 1v6h2v9h4v-9h2v-6a.945.945 0 0 0-1-1zm3-3a4 4 0 1 1 4-4a4.005 4.005 0 0 1-4 4m0-6a2 2 0 1 0 2 2a2 2 0 0 0-2-2m20.766.256A4.21 4.21 0 0 0 23 4.032a4.21 4.21 0 0 0-5.766.224a4.32 4.32 0 0 0 0 6.044l5.764 5.84l.002-.002l.002.001l5.764-5.839a4.32 4.32 0 0 0 0-6.044m-1.424 4.639l-4.34 4.397L23 13.29l-.002.002l-4.34-4.397a2.31 2.31 0 0 1 0-3.234a2.264 2.264 0 0 1 3.156 0l1.181 1.207l.005-.005l.005.005l1.18-1.207a2.264 2.264 0 0 1 3.157 0a2.31 2.31 0 0 1 0 3.234\\"/></svg>","details":"福大生存指南为所有FZUer提供生存指南包括生活、学习等各方面。","link":"/福大生存指南/生存指南"},{"title":"技术资源汇总(杭电支持版)","icon":"<svg xmlns=\\"http://www.w3.org/2000/svg\\" width=\\"32\\" height=\\"32\\" viewBox=\\"0 0 32 32\\"><path fill=\\"none\\" d=\\"m16 7l1.912 3.667l4.088.506l-3 2.753l.6 4.074l-3.6-2.292L12.4 18l.6-4.074l-3-2.753l4.2-.506z\\"/><path fill=\\"currentColor\\" d=\\"M16 2A11.013 11.013 0 0 0 5 13a10.9 10.9 0 0 0 2.216 6.6s.3.395.349.452L16 30l8.439-9.953c.044-.053.345-.447.345-.447l.001-.003A10.9 10.9 0 0 0 27 13A11.013 11.013 0 0 0 16 2m3.6 16L16 15.709L12.4 18l.6-4.074l-3-2.753l4.2-.507L16 7l1.912 3.667l4.088.506l-3 2.753Z\\"/></svg>","link":"/技术资源汇总(杭电支持版)/内容索引","details":"汇总了杭电开源项目hdu-cs-wiki开源的计算机相关技术讲义。"}]},"headers":[],"relativePath":"index.md","filePath":"index.md"}'),a={name:"index.md"};function i(h,o,s,n,r,v){return e(),t("div")}const c=l(a,[["render",i]]);export{m as __pageData,c as default};

View File

@@ -1,33 +0,0 @@
import{_ as s,c as a,o as i,a4 as n}from"./chunks/framework.DtvhUNIn.js";const g=JSON.parse('{"title":"Markdown Extension Examples","description":"","frontmatter":{},"headers":[],"relativePath":"markdown-examples.md","filePath":"markdown-examples.md"}'),t={name:"markdown-examples.md"},e=n(`<h1 id="markdown-extension-examples" tabindex="-1">Markdown Extension Examples <a class="header-anchor" href="#markdown-extension-examples" aria-label="Permalink to &quot;Markdown Extension Examples&quot;"></a></h1><p>This page demonstrates some of the built-in markdown extensions provided by VitePress.</p><h2 id="syntax-highlighting" tabindex="-1">Syntax Highlighting <a class="header-anchor" href="#syntax-highlighting" aria-label="Permalink to &quot;Syntax Highlighting&quot;"></a></h2><p>VitePress provides Syntax Highlighting powered by <a href="https://github.com/shikijs/shiki" target="_blank" rel="noreferrer">Shiki</a>, with additional features like line-highlighting:</p><p><strong>Input</strong></p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">\`\`\`js{4}</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> data</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> () {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> msg: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Highlighted!&#39;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">\`\`\`</span></span></code></pre></div><p><strong>Output</strong></p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> default</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> data</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> () {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line highlighted"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> msg: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;Highlighted!&#39;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h2 id="custom-containers" tabindex="-1">Custom Containers <a class="header-anchor" href="#custom-containers" aria-label="Permalink to &quot;Custom Containers&quot;"></a></h2><p><strong>Input</strong></p><div class="language-md vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">md</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">::: info</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">This is an info box.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">::: tip</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">This is a tip.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">::: warning</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">This is a warning.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">::: danger</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">This is a dangerous warning.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">::: details</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">This is a details block.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:::</span></span></code></pre></div><p><strong>Output</strong></p><div class="info custom-block"><p class="custom-block-title">INFO</p><p>This is an info box.</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>This is a tip.</p></div><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>This is a warning.</p></div><div class="danger custom-block"><p class="custom-block-title">DANGER</p><p>This is a dangerous warning.</p></div><details class="details custom-block"><summary>Details</summary><p>This is a details block.</p></details><h2 id="more" tabindex="-1">More <a class="header-anchor" href="#more" aria-label="Permalink to &quot;More&quot;"></a></h2><p>Check out the documentation for the <a href="https://vitepress.dev/guide/markdown" target="_blank" rel="noreferrer">full list of markdown extensions</a>.</p>`,19),l=[e];function p(h,k,r,o,d,E){return i(),a("div",null,l)}const m=s(t,[["render",p]]);export{g as __pageData,m as default};

View File

@@ -1 +0,0 @@
import{_ as s,c as a,o as i,a4 as n}from"./chunks/framework.DtvhUNIn.js";const g=JSON.parse('{"title":"Markdown Extension Examples","description":"","frontmatter":{},"headers":[],"relativePath":"markdown-examples.md","filePath":"markdown-examples.md"}'),t={name:"markdown-examples.md"},e=n("",19),l=[e];function p(h,k,r,o,d,E){return i(),a("div",null,l)}const m=s(t,[["render",p]]);export{g as __pageData,m as default};

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
import{s as r,y as d,c as n,j as i,a as l,t as s,a4 as o,o as c}from"./chunks/framework.DtvhUNIn.js";const _=i("h1",{id:"使用指南",tabindex:"-1"},[l("使用指南 "),i("a",{class:"header-anchor",href:"#使用指南","aria-label":'Permalink to "使用指南"'},"")],-1),p=i("h2",{id:"如何使用本wiki",tabindex:"-1"},[l("如何使用本WIKI "),i("a",{class:"header-anchor",href:"#如何使用本wiki","aria-label":'Permalink to "如何使用本WIKI"'},"")],-1),u=o("<li><p>推荐使用 <code>暗色模式</code> ,以获得更好的阅读体验。点击右上角切换按钮即可切换。</p></li><li><p>电脑端推荐按 <code>Ctrl + 加号</code> 将页面放大到 150% 以便于阅读。</p></li><li><p>按 <code>Ctrl + 0</code> 可快速将页面缩小回 100% 。</p></li><li><p>使用 <code>Ctrl + F</code> 快速搜索在某一页面的内容。</p></li><li><p>使用 <code>Ctrl + K</code> 唤起搜索框,输入关键词即可快速搜索整个 wiki 。</p></li>",5),f=o('<h2 id="如何提交issue" tabindex="-1">如何提交issue <a class="header-anchor" href="#如何提交issue" aria-label="Permalink to &quot;如何提交issue&quot;"></a></h2><ul><li><p>点击进入我们的 <a href="https://gitea.xinxijishubu.asia/moyin/fzu-product" target="_blank" rel="noreferrer"><code>Gitea</code></a> 仓库。</p></li><li><p>点击页面右上角 <code>工单</code> 按钮,创建工单,即可提交问题。</p></li><li><p>请在提交问题时,尽量详细描述问题,以便我们更好地解决您的问题。</p></li></ul><h2 id="如何参与贡献-提交pr" tabindex="-1">如何参与贡献(提交PR) <a class="header-anchor" href="#如何参与贡献-提交pr" aria-label="Permalink to &quot;如何参与贡献(提交PR)&quot;"></a></h2><ul><li><p>点击页面末尾的<code>在Gitea上修改此页</code> 按钮跳转到gitea对应编辑页位置。</p></li><li><p>注意只有fork(派生,也就是抓取)仓库的用户才能编辑。</p></li><li><p>编辑完成后,点击页面右上角 <code>提交</code> 按钮,即可提交您的修改。</p></li><li><p>请在提交修改时,尽量遵循 <code>Markdown</code> 语法,以便其他用户更好地阅读。</p></li></ul>',4),k=JSON.parse('{"title":"使用指南","description":"","frontmatter":{},"headers":[],"relativePath":"使用指南.md","filePath":"使用指南.md"}'),h={name:"使用指南.md"},O=Object.assign(h,{setup(x){function t(){const e=navigator.userAgent;e.indexOf("Chrome")>-1?a.value="Chrome":e.indexOf("Firefox")>-1?a.value="Firefox":e.indexOf("Safari")>-1?a.value="Safari":e.indexOf("Opera")>-1||e.indexOf("OPR")>-1?a.value="Opera":e.indexOf("Edge")>-1?a.value="Edge":e.indexOf("MSIE")>-1||e.indexOf("Trident/")>-1?a.value="Internet Explorer":a.value="Unknown"}const a=r("");return d(()=>{t()}),(e,m)=>(c(),n("div",null,[_,p,i("ul",null,[i("li",null,[i("p",null,[l("推荐使用 Chromium 内核的浏览器访问例如Chrome、Edge不同浏览器可能表现不一致您当前的浏览器是"),i("code",null,s(a.value),1)])]),u]),f]))}});export{k as __pageData,O as default};

View File

@@ -1 +0,0 @@
import{s as r,y as d,c as n,j as i,a as l,t as s,a4 as o,o as c}from"./chunks/framework.DtvhUNIn.js";const _=i("h1",{id:"使用指南",tabindex:"-1"},[l("使用指南 "),i("a",{class:"header-anchor",href:"#使用指南","aria-label":'Permalink to "使用指南"'},"")],-1),p=i("h2",{id:"如何使用本wiki",tabindex:"-1"},[l("如何使用本WIKI "),i("a",{class:"header-anchor",href:"#如何使用本wiki","aria-label":'Permalink to "如何使用本WIKI"'},"")],-1),u=o("",5),f=o("",4),k=JSON.parse('{"title":"使用指南","description":"","frontmatter":{},"headers":[],"relativePath":"使用指南.md","filePath":"使用指南.md"}'),h={name:"使用指南.md"},O=Object.assign(h,{setup(x){function t(){const e=navigator.userAgent;e.indexOf("Chrome")>-1?a.value="Chrome":e.indexOf("Firefox")>-1?a.value="Firefox":e.indexOf("Safari")>-1?a.value="Safari":e.indexOf("Opera")>-1||e.indexOf("OPR")>-1?a.value="Opera":e.indexOf("Edge")>-1?a.value="Edge":e.indexOf("MSIE")>-1||e.indexOf("Trident/")>-1?a.value="Internet Explorer":a.value="Unknown"}const a=r("");return d(()=>{t()}),(e,m)=>(c(),n("div",null,[_,p,i("ul",null,[i("li",null,[i("p",null,[l("推荐使用 Chromium 内核的浏览器访问例如Chrome、Edge不同浏览器可能表现不一致您当前的浏览器是"),i("code",null,s(a.value),1)])]),u]),f]))}});export{k as __pageData,O as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as t,a4 as i}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"2.1.1 悲壮的学习方式","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.1悲壮的学习方式.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.1悲壮的学习方式.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1.1悲壮的学习方式.md"},r=i('<h1 id="_2-1-1-悲壮的学习方式" tabindex="-1">2.1.1 悲壮的学习方式 <a class="header-anchor" href="#_2-1-1-悲壮的学习方式" aria-label="Permalink to &quot;2.1.1 悲壮的学习方式&quot;"></a></h1><h2 id="现状" tabindex="-1">现状 <a class="header-anchor" href="#现状" aria-label="Permalink to &quot;现状&quot;"></a></h2><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>引自上海交大生存指南</p><p><a href="https://survivesjtu.gitbook.io/survivesjtumanual/li-zhi-pian/bei-zhuang-de-xue-xi-fang-shi" target="_blank" rel="noreferrer">https://survivesjtu.gitbook.io/survivesjtumanual/li-zhi-pian/bei-zhuang-de-xue-xi-fang-shi</a></p></div><p>古人刻苦学习的故事,直到现在还在我们的身边不断上演。学生趴在山一样高的习题集边上苦苦奋斗,绝对是我校作为国内一流大学的亮丽的风景线。</p><p>挖空心思研究解题技巧的学生们,与同样挖空心思研究出题技巧的老师们,构成了一个完美的圆环。在二者日复一日的机械劳动中,我只看到纸张、电力,以及粮食不断被浪费,却看不到中华之崛起。</p><p>我无意全盘否定同学们吃苦耐劳的精神,但这份精神充其量只能称为悲壮。我们耗费了大量的时间和精力掌握的那些考点、技巧,在真正的知识殿堂里根本登不上大雅之堂。哪怕我们特征值求得再熟练,积分积得再复杂,中国的载人飞船也不会因此而顺利上天。</p><h2 id="解决" tabindex="-1">解决 <a class="header-anchor" href="#解决" aria-label="Permalink to &quot;解决&quot;"></a></h2><p>学习的时候,不要有负担心理。很多同学在学习知识的时候带着一种学不完或者学不会我就上吊算了的心态,其实这是比较危险的一种精神状态。</p><p>学东西并不是为了折磨我们的手段,而是我们用好奇心探索未知的一种体现形式。</p><p>而且我们在学习某些你认为意义不大或者和你现在的知识体系关联不大的东西的时候,比如大家经常诟病的一些通识课以及大物模电,我们应该有更高的追求,而不是简单的背诵课本</p><p>我们可以通过这些课程,来思考一下别的看待世界的角度和思考方式,或者通过一些通俗易懂的科普视频,去了解一下你感兴趣的点。</p><p>比如说学习大物的时候浅浅研究深入一下相对论的历史和研究过程(?)你说不定会就此打开新世界的大门。</p><p>总之,尽可能为未来的自己多留下一点东西吧!</p>',13),s=[r];function p(_,n,l,c,h,u){return t(),e("div",null,s)}const f=a(o,[["render",p]]);export{m as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as t,a4 as i}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"2.1.1 悲壮的学习方式","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.1悲壮的学习方式.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.1悲壮的学习方式.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1.1悲壮的学习方式.md"},r=i("",13),s=[r];function p(_,n,l,c,h,u){return t(),e("div",null,s)}const f=a(o,[["render",p]]);export{m as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as t,a4 as p}from"./chunks/framework.DtvhUNIn.js";const u=JSON.parse('{"title":"2.1.2 浮躁的心理状态","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.2浮躁的心理状态.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.2浮躁的心理状态.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1.2浮躁的心理状态.md"},_=p('<h1 id="_2-1-2-浮躁的心理状态" tabindex="-1">2.1.2 浮躁的心理状态 <a class="header-anchor" href="#_2-1-2-浮躁的心理状态" aria-label="Permalink to &quot;2.1.2 浮躁的心理状态&quot;"></a></h1><h2 id="现状" tabindex="-1">现状 <a class="header-anchor" href="#现状" aria-label="Permalink to &quot;现状&quot;"></a></h2><blockquote><p>我明明很努力了,但是就是学不懂,群里的同学好像啥都会 WOC</p><p>我周围的同学怎么参加竞赛的科研经历丰富的都有就我是废物呜呜呜</p><p>我的同学啥都有了但是我什么都没</p><p>为什么我室友都脱单了我还是单身狗</p></blockquote><p>浮躁,往往来源于和他人的比较是具有社会属性的我们的人之常情。</p><p>然而,我们往往不能从中获得任何鼓励反而深受打击。</p><h2 id="解决方案" tabindex="-1">解决方案 <a class="header-anchor" href="#解决方案" aria-label="Permalink to &quot;解决方案&quot;"></a></h2><p>如果我在这里说戒骄戒躁一定会被打的(逃)</p><p>学不懂一门课程,大可不必着急,慢慢来,也可以问问学长学姐或者思考一下这门课到底为什么如此组织。</p><p>多学会一个知识点,多掌握一点知识,现在的自己比以前好了就值得肯定。</p><p>人生的道路还很长,不要因为刚出发的一点小小的劣势就否认最终到达终点的自己。</p><p>很多时候我们这一代这么累,就是因为一直看着别人才磕磕绊绊的。</p><p>从当下浮躁的集体价值观中走出来吧。看清脚下的路是更重要的事。</p><p>人生的道路上有且仅有你一个人。</p><p>如果实在不行,来找 ZZM 聊聊吧。</p><p><img src="https://cdn.xyxsw.site/boxcnPDWiNgkgppK1XWq5cRQ71b.jpg" alt=""></p>',15),r=[_];function c(s,n,i,l,d,h){return t(),e("div",null,r)}const f=a(o,[["render",c]]);export{u as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as t,a4 as p}from"./chunks/framework.DtvhUNIn.js";const u=JSON.parse('{"title":"2.1.2 浮躁的心理状态","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.2浮躁的心理状态.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.2浮躁的心理状态.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1.2浮躁的心理状态.md"},_=p("",15),r=[_];function c(s,n,i,l,d,h){return t(),e("div",null,r)}const f=a(o,[["render",c]]);export{u as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as t,D as h,c as n,I as p,j as s,a as i,a4 as e,o as l}from"./chunks/framework.DtvhUNIn.js";const x=JSON.parse('{"title":"2.1.3 错误的提问姿态","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.3错误的提问姿态.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.3错误的提问姿态.md"}'),k={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1.3错误的提问姿态.md"},r=s("h1",{id:"_2-1-3-错误的提问姿态",tabindex:"-1"},[i("2.1.3 错误的提问姿态 "),s("a",{class:"header-anchor",href:"#_2-1-3-错误的提问姿态","aria-label":'Permalink to "2.1.3 错误的提问姿态"'},"")],-1),d=s("h2",{id:"现状",tabindex:"-1"},[i("现状 "),s("a",{class:"header-anchor",href:"#现状","aria-label":'Permalink to "现状"'},"")],-1),o=s("p",null,"我们假定一个情况,如果你是一个医生,患者过来告诉你,我浑身都疼,医生我该怎么办啊。",-1),E=s("p",null,"然后你要慢慢询问他的问题,接着你要问各种问题各种检查然后去看,如果有十个人一百个人都这么问,你肯定会受不了的吧。",-1),c=s("p",null,'事实上,如果希望能提高得到回答的概率,提问者应该学会如何更好地提问。换句话说,提问者应该去积极思考 "我可以主动做些什么来让对方更方便地帮助我诊断问题".',-1),g=s("p",null,"如果你的提问方式非常不专业,很可能没有人愿意关注你的问题,因为这不仅让人觉得你随便提的问题没那么重要,而且大家也不愿意花费大量的时间向你来回地咨询。",-1),y=e("",33);function _(m,u,b,F,C,v){const a=h("Bilibili");return l(),n("div",null,[r,d,o,E,c,g,p(a,{bvid:"BV1om4y1H71S"}),y])}const D=t(k,[["render",_]]);export{x as __pageData,D as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as t,a4 as r}from"./chunks/framework.DtvhUNIn.js";const u=JSON.parse('{"title":"2.1.4 书籍的盲目崇拜","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.4书籍的盲目崇拜.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.4书籍的盲目崇拜.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1.4书籍的盲目崇拜.md"},_=r('<h1 id="_2-1-4-书籍的盲目崇拜" tabindex="-1">2.1.4 书籍的盲目崇拜 <a class="header-anchor" href="#_2-1-4-书籍的盲目崇拜" aria-label="Permalink to &quot;2.1.4 书籍的盲目崇拜&quot;"></a></h1><h2 id="现状" tabindex="-1">现状 <a class="header-anchor" href="#现状" aria-label="Permalink to &quot;现状&quot;"></a></h2><p>很多同学在学习一个知识的时候,总是喜欢</p><p>&quot;我们要学 C 语言,我买一本大黑书看看!&quot;</p><p><img src="https://cdn.xyxsw.site/boxcnqsCWmUTDr5UDLYca9YkhHh.png" alt=""></p><p>诚然,上面的各种书写的非常好,但是我们需要思考的是,阅读这些真的能达到我们想要的目标吗???</p><p>这些书为了保证准确性和严谨性,通常会采用不是一般人能看懂得话来进行解释</p><p>通常情况是,如果你阅读了一句话,用了解释这个词的意思用了三个你不懂的额外的词汇去解释,你去查这三个词汇的时候,又发现了五个你不懂的,无限循环下去。</p><h2 id="解决" tabindex="-1">解决 <a class="header-anchor" href="#解决" aria-label="Permalink to &quot;解决&quot;"></a></h2><p>因此,当你只是为了学习一个简单的知识,或者说为了完成一个简单的目标的时候,肝书可能不是最高效的选择。最高效的方法可能是需要什么的时候就去学习这么一个单一的知识点,并且将他和现有的体系联系起来</p><blockquote><p>来自 zzm 惨痛的教训</p></blockquote><p>但是如果你想要系统的建立对某一门学科完整的认知,并且决心投入大量的时间时,我还是非常建议大家去看书的。</p><p>但是还有要注意的点是,最贵的,最专业的不一定是最好的,有时候可能简单的入门一点的书会更适合你呢</p><p>非常不错的电子书网站</p><p><a href="https://zh.singlelogin.re/" target="_blank" rel="noreferrer">Z-Library</a></p>',15),p=[_];function n(s,c,i,l,h,d){return t(),e("div",null,p)}const f=a(o,[["render",n]]);export{u as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as t,a4 as r}from"./chunks/framework.DtvhUNIn.js";const u=JSON.parse('{"title":"2.1.4 书籍的盲目崇拜","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.4书籍的盲目崇拜.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.4书籍的盲目崇拜.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1.4书籍的盲目崇拜.md"},_=r("",15),p=[_];function n(s,c,i,l,h,d){return t(),e("div",null,p)}const f=a(o,[["render",n]]);export{u as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as e,o as _,a4 as a}from"./chunks/framework.DtvhUNIn.js";const f=JSON.parse('{"title":"2.1.5 错误的学习配比","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.5错误的学习配比.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.5错误的学习配比.md"}'),p={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1.5错误的学习配比.md"},s=a('<h1 id="_2-1-5-错误的学习配比" tabindex="-1">2.1.5 错误的学习配比 <a class="header-anchor" href="#_2-1-5-错误的学习配比" aria-label="Permalink to &quot;2.1.5 错误的学习配比&quot;"></a></h1><p>在学计算机科学的时候,总有人会问一些问题,类似于“我需要把这本书看完然后再开始 blabla 吗”</p><p>“我需要看完某些课程然后再开始吗”</p><p>其实这种想法是完全错误的。</p><p>在高中阶段,你可能需要先阅览课本,然后再做题,可计算机是一门实践学科,你是用这样的方法无疑是一个低效的行为。</p><p>我们推荐正确的操作是一边实践一边学习,如果你有什么不会的内容,再去额外查询,但是不要全陷进去,开始无限套娃模式的搜索。</p><p>你可以先阅览一小部分内容,有个大致的了解后再逐渐深入,并且最好是一边敲代码一边实践一边去做。</p><p>同时也有些同学可能犯的错误是我只看看我不写代码。</p><p>这也同样会让你飞速的忘记代码,或者说有的同学可能想偷懒,某些行代码他没看懂就跳过去了,其实这也是有问题的,因为你所有埋下的坑,可能都会在以后的实践中填回来。</p><p>在你完成这份讲义的时候,希望你可以有选择的阅览一部分,然后带着问题去看某些课,效率也会高很多。</p><p><img src="https://cdn.xyxsw.site/boxcnSq1JzWhVrFs3MePPzp5Txg.jpg" alt=""></p>',11),o=[s];function r(c,n,i,d,l,h){return _(),e("div",null,o)}const x=t(p,[["render",r]]);export{f as __pageData,x as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as e,o as _,a4 as a}from"./chunks/framework.DtvhUNIn.js";const f=JSON.parse('{"title":"2.1.5 错误的学习配比","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.5错误的学习配比.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1.5错误的学习配比.md"}'),p={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1.5错误的学习配比.md"},s=a("",11),o=[s];function r(c,n,i,d,l,h){return _(),e("div",null,o)}const x=t(p,[["render",r]]);export{f as __pageData,x as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as p,a4 as t}from"./chunks/framework.DtvhUNIn.js";const u=JSON.parse('{"title":"2.1 高效的前提:摆脱高中思维","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1高效的前提:摆脱高中思维.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1高效的前提:摆脱高中思维.md"}'),_={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1高效的前提:摆脱高中思维.md"},o=t('<h1 id="_2-1-高效的前提-摆脱高中思维" tabindex="-1">2.1 高效的前提:摆脱高中思维 <a class="header-anchor" href="#_2-1-高效的前提-摆脱高中思维" aria-label="Permalink to &quot;2.1 高效的前提:摆脱高中思维&quot;"></a></h1><h2 id="高中思维" tabindex="-1">高中思维 <a class="header-anchor" href="#高中思维" aria-label="Permalink to &quot;高中思维&quot;"></a></h2><p>高考,诚然为大众提供了阶级跃迁的途径</p><p>但是代价也是显而易见的:过度强化的训练和某种扭曲的价值观潜移默化的影响着我们。</p><p>我们在意着各种评判标准GPA竞赛的奖项读研工作的工资。</p><p>诚然,这些很重要,但是生活是没有所谓最优解的,在你一味的拿所谓标准当作自身的标尺的时候,无形之中,也让自己失去了独立思考的能力。</p><p>就算你把课本上的内容搞得再烂熟,绝不代表你真正对这门课能有什么理解。</p><p><strong>并且,全部依赖他人给你指明方向的人生已经结束了!</strong></p><p><img src="https://cdn.xyxsw.site/boxcne9EK3xz8LHOXfM8w9ih5Ig.png" alt=""></p><p>你无法依赖大学里的老师还是家里的父母来为你指明所谓的方向,你的人生只属于你自己,你的道路也只能由你自己来思考。</p><p>考研的老师会更加重视你是否有能力与他进行利益交换,公司更在乎你是否可以为公司创造价值,想当然的思考已经无法跟上这个飞速运转的世界了。</p><h2 id="大学现状" tabindex="-1">大学现状 <a class="header-anchor" href="#大学现状" aria-label="Permalink to &quot;大学现状&quot;"></a></h2><p>在这里引用一段上海交通大学生存指南的一段话。</p><blockquote><p>在当今流水线式的教育体制下,我们就像廉价的零件一样被生产出来。因为数量巨大,没人会对每一个人的教学质量负责。</p><p>领导不会为你负责。对于一个争做世界一流大学的研究型学校,管好科研,管好实验室才是当务之急。</p><p>相比之下,本科生教学显得无利可图。教授也不会为你负责。拉到足够的经费发表足够的论文,满足学院要求才是生存大计。</p><p>要说管学生,也肯定先要管好自己实验室的硕士博士,而非那一百多人大课堂里的某个本科生。就算是科研任务不太重的一些任课教师,他们也不会为你负责——学不懂?那是因为你智力低,要么就是自己底下不用功。为什么跟你一个班上的某某某同学,人家就能懂?</p><p>诚然,就算是老师上课说孟加拉语,一个班上也非常有可能冒出一两个翻翻书看看图就能学到八九不离十的同学(或者根本就是以前学过)。</p><p>真正在课堂上口传心授的教学,其质量是不会有人过问的。教学评估会考察实验报告格式是否合格,出勤率是否够,但是绝对不会考察上百人的班上到底有几个听懂了的。</p><p>试想一下,每个学院每个系有成百上千的学生,每人有着不同的思想、不同的目标、不同的知识背景、不同的接受力,我们怎么可能去指望一个统一的“教学培养计划”强制应用在每个人头上的时候,能够产生效果?好比说食堂师傅炒一大锅菜给上千人吃,我敢说我分到的那盘,不是炒糊就肯定得夹生。</p><p>所谓“教学培养计划”,其科学性必须经过教育权威的论证。然而现实中塞给我们的推荐课表,却让人失望。且不深究选修课的分类、学分、毕业条件每年一个样,三年大变样,使得不少同学毕业前夕竞相奔走;甚至连两门相依赖课程的教学先后顺序都搞错过,这样的教学培养计划,实在让人难以信任</p></blockquote><p>诚然,杭电不可避免地也会受相应的“学术共同体”的影响,波及了包括但不限于竞赛,授课质量,氛围引导方面诸多的影响。</p><p>但是不可否认的,杭电也有不少优秀的老师愿意投身于教育事业当中。并且,杭电仍然有不少教育资源,可以满足一个人的所需所求。<s>(保研除外)</s></p>',16),r=[o];function s(n,c,i,l,d,h){return p(),e("div",null,r)}const f=a(_,[["render",s]]);export{u as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as p,a4 as t}from"./chunks/framework.DtvhUNIn.js";const u=JSON.parse('{"title":"2.1 高效的前提:摆脱高中思维","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1高效的前提:摆脱高中思维.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.1高效的前提:摆脱高中思维.md"}'),_={name:"技术资源汇总(杭电支持版)/2.高效学习/2.1高效的前提:摆脱高中思维.md"},o=t("",16),r=[o];function s(n,c,i,l,d,h){return p(),e("div",null,r)}const f=a(_,[["render",s]]);export{u as __pageData,f as default};

View File

@@ -1,26 +0,0 @@
import{_ as a,c as s,o as i,a4 as e}from"./chunks/framework.DtvhUNIn.js";const F=JSON.parse('{"title":"2.2 优雅的使用工具","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.2优雅的使用工具.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.2优雅的使用工具.md"}'),r={name:"技术资源汇总(杭电支持版)/2.高效学习/2.2优雅的使用工具.md"},n=e(`<h1 id="_2-2-优雅的使用工具" tabindex="-1">2.2 优雅的使用工具 <a class="header-anchor" href="#_2-2-优雅的使用工具" aria-label="Permalink to &quot;2.2 优雅的使用工具&quot;"></a></h1><div class="tip custom-block"><p class="custom-block-title">🤗</p><p>如果你也有好的工具推荐,请补充喵~</p></div><p>请大家记住使用工具的基本原则 <strong>你所感到不方便的!都有工具解决!</strong></p><p>因此本小节的核心要义在于推荐一些有趣的有助于提高效率的小工具。</p><h2 id="电脑软件及插件" tabindex="-1">电脑软件及插件 <a class="header-anchor" href="#电脑软件及插件" aria-label="Permalink to &quot;电脑软件及插件&quot;"></a></h2><ul><li><a href="https://www.voidtools.com/zh-cn/downloads/" target="_blank" rel="noreferrer">Everything</a> 电脑上的全局文件搜索 方便你找到不知道丢哪的文件</li><li><a href="http://www.uderzo.it/main_products/space_sniffer/download.html" target="_blank" rel="noreferrer">SpaceSniffer</a> 快速分析硬盘空间占用情况 解放储存,不解放大脑</li><li><a href="https://zh.snipaste.com/" target="_blank" rel="noreferrer">Snipaste</a> 全局截图工具,按 F1 键截图F3 键贴图,简单够用</li><li><a href="https://esearch.vercel.app/" target="_blank" rel="noreferrer">eSearch</a> 全局截图工具,优化了文字识别功能,可个性化,支持全平台</li><li><a href="https://esearch.vercel.app/" target="_blank" rel="noreferrer">ShareX</a> 全局截图工具,功能非常强大,高度可个性化,仅支持 Win</li><li><a href="https://www.internetdownloadmanager.com/" target="_blank" rel="noreferrer">IDM</a> :好用的多线程下载器(付费的),想要免费的话可以搜一下绿色版之类的。(推荐设置线程数为 CPU 核心数的 2 倍,比如 8 核心的 CPU 设置线程数为 16</li><li><a href="https://github.com/subhra74/xdm" target="_blank" rel="noreferrer">XDM</a> IDM 的跨平台版本。</li><li><a href="https://www.u.tools/" target="_blank" rel="noreferrer">uTools</a> :自由组合插件集(最好用的是 Alt+Space 搜索功能)非常强大,比如安装 fileshare 可以在局域网共享超大文件,而且是跨平台的。</li><li><a href="https://github.com/microsoft/PowerToys" target="_blank" rel="noreferrer">PowerToys</a> :微软官方出品,包含诸多功能,解决 windows 下一些小痛点。</li><li><a href="https://parsec.app/" target="_blank" rel="noreferrer">Connect to Work or Games from Anywhere | Parsec</a> :串流小工具,简单来说你就是可以在手机上玩电脑了,远程操作,极致体验~~(也可以玩游戏)~~</li><li><a href="./../3.编程思维体系构建/3.Y.3VMware的安装与安装Ubuntu22.04系统.html">VMware workstation</a>:虚拟机就用它!但是最好自己找找盗版,正版要钱。</li><li><a href="https://github.com/AlDanial/cloc" target="_blank" rel="noreferrer">cloc</a>: 统计代码行数(空白行,注释行,代码行)的小工具</li><li>mv &amp; cp 命令显示进度条在复制大文件的时候非常友好可以通过以下脚本安装Linux 系统)</li></ul><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#!/bin/bash</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#########################################################################</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># File Name: add-progess-bar-in-cp-mv.sh</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Author: steve</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># mail: yqykrhf@163.com</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Created Time: Fri 05 Aug 2022 01:54:58 PM CST</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Reference: https://tinychen.com/20201128-add-progess-bar-in-cp-mv/</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">#########################################################################</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">set</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -e</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">wget</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> http://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">tar</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -xJf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> coreutils-8.32.tar.xz</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> coreutils-8.32/</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Download patch </span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 这里原本是ghproxy.com但是现在被ban了所以换成了我自建的cf worker</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">wget</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://gh.dn11.top/https://raw.githubusercontent.com/jarun/advcpmv/master/advcpmv-0.8-8.32.patch</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Patching display with process bar</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">patch</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -p1</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -i</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> advcpmv-0.8-8.32.patch</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Compile then install</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./configure</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">make</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Copy</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> cp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> src/cp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /usr/local/bin/cp</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> cp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> src/mv</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /usr/local/bin/mv</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># remove tmp files</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ..</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">rm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> coreutils-8.32</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> coreutils-8.32.tar.xz</span></span></code></pre></div><h2 id="笔记工具" tabindex="-1">笔记工具 <a class="header-anchor" href="#笔记工具" aria-label="Permalink to &quot;笔记工具&quot;"></a></h2><ul><li><a href="https://typora.io/" target="_blank" rel="noreferrer">Typora</a> 付费的,<s>你可以去并夕夕啊淘宝啊花个不多于 5 块钱的钱买盗版 😋</s>,(正版 $14.99),真的好用,感觉没有 Markdown 编辑器能好用过 Typora🤥。</li><li><a href="https://github.com/marktext/marktext" target="_blank" rel="noreferrer">MarkText</a> 免费的,平替 Typora。</li><li><a href="https://github.com/tw93/MiaoYan" target="_blank" rel="noreferrer">MiaoYan</a> 仅支持 apple界面挺清爽。</li><li><a href="https://b3log.org/siyuan/" target="_blank" rel="noreferrer">思源笔记</a> 一个国产开源的笔记/知识库软件,优势是 本地化、双链、Markdown 语法,与 Obsidian 定位相似,但 Geek 成分和自定义空间相对更高</li><li><a href="https://www.zotero.org/" target="_blank" rel="noreferrer">Zotero</a>:协助文献阅读还有记录笔记,支持与平板同传(同时他是开源的,所以可以添加一些插件)</li></ul><p><img src="https://cdn.xyxsw.site/boxcnO1PEsVd4KY7reeU64spShf.jpg" alt=""></p><ul><li><a href="http://notion.so" target="_blank" rel="noreferrer">Notion</a>: 笔记终结者,非常强大,(设计理念被钉钉,飞书,我来非常抄袭)。在线就可以使用。</li></ul><h2 id="文献辅助阅读工具" tabindex="-1">文献辅助阅读工具 <a class="header-anchor" href="#文献辅助阅读工具" aria-label="Permalink to &quot;文献辅助阅读工具&quot;"></a></h2><ul><li><a href="https://www.zhiyunwenxian.cn/" target="_blank" rel="noreferrer">知云文献翻译</a>:可以有效帮助你翻译论文和文章甚至英文书籍</li><li><a href="https://www.grammarly.com/" target="_blank" rel="noreferrer">Grammarly</a> : 英文语法纠正,有 word浏览器等等插件</li></ul><h2 id="浏览器插件" tabindex="-1">浏览器插件 <a class="header-anchor" href="#浏览器插件" aria-label="Permalink to &quot;浏览器插件&quot;"></a></h2><ul><li><a href="https://immersivetranslate.com/docs/installation/" target="_blank" rel="noreferrer">沉浸式翻译</a>:中英文对照翻译,可以给你英文下面写一小行中文翻译(里面免费的 api 只有谷歌,必应,腾讯,不过够了,也可以自行配置其他 api</li><li>(你真的不玩原神吗)来试试这款原神浏览器插件 <a href="https://github.com/daidr/paimon-webext" target="_blank" rel="noreferrer">派蒙 paimon</a> :可以实时显示你的树脂,委托,派遣等情况提示。</li><li><a href="https://www.wappalyzer.com/" target="_blank" rel="noreferrer">wappalyzer</a>:如果你是个 web 仔,这个插件可以帮你检测网页所用的前后端技术栈。</li><li><a href="https://github.com/zxlie/FeHelper" target="_blank" rel="noreferrer">FeHelper--Web 前端助手</a>:十几个小工具的集合,包括 base64 离线解码等。</li><li><a href="https://github.com/darkreader/darkreader" target="_blank" rel="noreferrer">darkreader</a>:适应网页的暗色模式,夜深人静冲浪更爽</li></ul>`,15),t=[n];function l(h,p,k,o,c,d){return i(),s("div",null,t)}const f=a(r,[["render",l]]);export{F as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as s,o as i,a4 as e}from"./chunks/framework.DtvhUNIn.js";const F=JSON.parse('{"title":"2.2 优雅的使用工具","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.2优雅的使用工具.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.2优雅的使用工具.md"}'),r={name:"技术资源汇总(杭电支持版)/2.高效学习/2.2优雅的使用工具.md"},n=e("",15),t=[n];function l(h,p,k,o,c,d){return i(),s("div",null,t)}const f=a(r,[["render",l]]);export{F as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as e,o,a4 as l}from"./chunks/framework.DtvhUNIn.js";const r={},m=JSON.parse('{"title":"2.3.1 阅读文档(破百度爬)","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.3.1阅读文档B百度爬.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.3.1阅读文档B百度爬.md"}'),a={name:"技术资源汇总(杭电支持版)/2.高效学习/2.3.1阅读文档B百度爬.md"},n=l("",23),i=[n];function s(h,c,d,u,_,q){return o(),e("div",null,i)}const p={$style:r},w=t(a,[["render",s],["__cssModules",p]]);export{m as __pageData,w as default};

View File

@@ -1 +0,0 @@
import{_ as t,D as o,c as r,I as i,a4 as a,o as n}from"./chunks/framework.DtvhUNIn.js";const f=JSON.parse('{"title":"2.3.2 检索论文核心内容","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.3.2检索论文核心内容.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.3.2检索论文核心内容.md"}'),l={name:"技术资源汇总(杭电支持版)/2.高效学习/2.3.2检索论文核心内容.md"},p=a("",31),h=a("",12);function c(s,d,_,u,b,m){const e=o("Bilibili");return n(),r("div",null,[p,i(e,{bvid:"BV1H44y1t75x"}),h])}const x=t(l,[["render",c]]);export{f as __pageData,x as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as p,o as e,a4 as t}from"./chunks/framework.DtvhUNIn.js";const b=JSON.parse('{"title":"2.3.3 优秀的开源社区","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.3.3优秀的开源社区.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.3.3优秀的开源社区.md"}'),r={name:"技术资源汇总(杭电支持版)/2.高效学习/2.3.3优秀的开源社区.md"},o=t("",47),h=[o];function i(l,n,s,_,d,c){return e(),p("div",null,h)}const m=a(r,[["render",i]]);export{b as __pageData,m as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as a,o as _,j as e,a as o}from"./chunks/framework.DtvhUNIn.js";const B=JSON.parse('{"title":"2.3 高效的信息检索","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.3高效的信息检索.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.3高效的信息检索.md"}'),s={name:"技术资源汇总(杭电支持版)/2.高效学习/2.3高效的信息检索.md"},n=e("h1",{id:"_2-3-高效的信息检索",tabindex:"-1"},[o("2.3 高效的信息检索 "),e("a",{class:"header-anchor",href:"#_2-3-高效的信息检索","aria-label":'Permalink to "2.3 高效的信息检索"'},"")],-1),c=e("p",null,"善于运用各种信息,使自己迅速掌握时代的脉络也是不可获取的能力之一!",-1),r=e("p",null,"在本章内容我们会给你指明一些常见的误区,以及如何使用正确的方式去解决问题。",-1),d=e("p",null,"做出微小的一点改变往往可能对你会有事半功倍的效果!",-1),l=e("p",null,"当然有些内容可能现在你还无法理解,但是我认为你过一小段时间,等到有需要的时候可以再反复观看相关内容!",-1),i=[n,c,r,d,l];function p(h,m,f,u,x,$){return _(),a("div",null,i)}const N=t(s,[["render",p]]);export{B as __pageData,N as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as a,o as _,j as e,a as o}from"./chunks/framework.DtvhUNIn.js";const B=JSON.parse('{"title":"2.3 高效的信息检索","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.3高效的信息检索.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.3高效的信息检索.md"}'),s={name:"技术资源汇总(杭电支持版)/2.高效学习/2.3高效的信息检索.md"},n=e("h1",{id:"_2-3-高效的信息检索",tabindex:"-1"},[o("2.3 高效的信息检索 "),e("a",{class:"header-anchor",href:"#_2-3-高效的信息检索","aria-label":'Permalink to "2.3 高效的信息检索"'},"")],-1),c=e("p",null,"善于运用各种信息,使自己迅速掌握时代的脉络也是不可获取的能力之一!",-1),r=e("p",null,"在本章内容我们会给你指明一些常见的误区,以及如何使用正确的方式去解决问题。",-1),d=e("p",null,"做出微小的一点改变往往可能对你会有事半功倍的效果!",-1),l=e("p",null,"当然有些内容可能现在你还无法理解,但是我认为你过一小段时间,等到有需要的时候可以再反复观看相关内容!",-1),i=[n,c,r,d,l];function p(h,m,f,u,x,$){return _(),a("div",null,i)}const N=t(s,[["render",p]]);export{B as __pageData,N as default};

View File

@@ -1 +0,0 @@
import{_ as e,c as t,o as a,a4 as r}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"2.4 优雅的记笔记","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.4优雅的记笔记.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.4优雅的记笔记.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.4优雅的记笔记.md"},_=r('<h1 id="_2-4-优雅的记笔记" tabindex="-1">2.4 优雅的记笔记 <a class="header-anchor" href="#_2-4-优雅的记笔记" aria-label="Permalink to &quot;2.4 优雅的记笔记&quot;"></a></h1><p>Notion</p><p>Markdown</p><p>Typora</p><p>本节打算讲 markdown还没来得及写</p><p>感兴趣查查上面</p><p>看看下面教程</p><p><a href="https://www.markdown.xyz" target="_blank" rel="noreferrer">https://www.markdown.xyz</a></p><p>以及这个</p><p><a href="https://castel.dev/post/lecture-notes-1" target="_blank" rel="noreferrer">https://castel.dev/post/lecture-notes-1</a></p>',10),p=[_];function s(n,c,d,l,i,h){return a(),t("div",null,p)}const w=e(o,[["render",s]]);export{m as __pageData,w as default};

View File

@@ -1 +0,0 @@
import{_ as e,c as t,o as a,a4 as r}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"2.4 优雅的记笔记","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.4优雅的记笔记.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.4优雅的记笔记.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.4优雅的记笔记.md"},_=r("",10),p=[_];function s(n,c,d,l,i,h){return a(),t("div",null,p)}const w=e(o,[["render",s]]);export{m as __pageData,w as default};

View File

@@ -1 +0,0 @@
import{_ as e,c as r,o as a,a4 as t}from"./chunks/framework.DtvhUNIn.js";const d=JSON.parse('{"title":"2.5 以理工科的方式阅读英语","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.5以理工科的方式阅读英语.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.5以理工科的方式阅读英语.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.5以理工科的方式阅读英语.md"},l=t('<h1 id="_2-5-以理工科的方式阅读英语" tabindex="-1">2.5 以理工科的方式阅读英语 <a class="header-anchor" href="#_2-5-以理工科的方式阅读英语" aria-label="Permalink to &quot;2.5 以理工科的方式阅读英语&quot;"></a></h1><p>作为一名理工科学生,也许英语并不是你的强势,但往往学习又难以避开英语。</p><p><img src="https://cdn.xyxsw.site/G6zAbGrTKoBLsfxhmvHcUBVynpc.png" alt=""></p><p>下面提供一些英语阅读的方法:</p><ol><li><strong>学好英语(顺便过四六级)</strong></li><li>文档阅读:使用浏览器插件,例如:<a href="https://saladict.crimx.com/" target="_blank" rel="noreferrer">沙拉查词</a>、<a href="https://hcfy.app/" target="_blank" rel="noreferrer">划词翻译</a>、<a href="https://immersivetranslate.com/docs/" target="_blank" rel="noreferrer">沉浸式翻译</a>、<a href="https://www.deepl.com/zh/app/" target="_blank" rel="noreferrer">DeepL 翻译</a></li><li>Youtube 等视频网站的双语字幕 <a href="https://www.languagereactor.com/" target="_blank" rel="noreferrer">languagereactor</a>。</li><li>实用翻译软件<a href="https://copytranslator.github.io/" target="_blank" rel="noreferrer">复制即翻译</a>。</li><li><s>Galgame 翻译 <a href="https://github.com/HIllya51/LunaTranslator" target="_blank" rel="noreferrer">LunaTranslator</a></s></li></ol>',5),_=[l];function n(s,c,i,p,h,f){return a(),r("div",null,_)}const g=e(o,[["render",n]]);export{d as __pageData,g as default};

View File

@@ -1 +0,0 @@
import{_ as e,c as r,o as a,a4 as t}from"./chunks/framework.DtvhUNIn.js";const d=JSON.parse('{"title":"2.5 以理工科的方式阅读英语","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.5以理工科的方式阅读英语.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.5以理工科的方式阅读英语.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.5以理工科的方式阅读英语.md"},l=t("",5),_=[l];function n(s,c,i,p,h,f){return a(),r("div",null,_)}const g=e(o,[["render",n]]);export{d as __pageData,g as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as a,o as e,a4 as _}from"./chunks/framework.DtvhUNIn.js";const I=JSON.parse('{"title":"2.1.6 学会使用 AI 辅助学习","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.6学会使用AI辅助学习.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.6学会使用AI辅助学习.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.6学会使用AI辅助学习.md"},i=_('<h1 id="_2-1-6-学会使用-ai-辅助学习" tabindex="-1">2.1.6 学会使用 AI 辅助学习 <a class="header-anchor" href="#_2-1-6-学会使用-ai-辅助学习" aria-label="Permalink to &quot;2.1.6 学会使用 AI 辅助学习&quot;"></a></h1><p>在过去AI 取代人类似乎一直是一件遥远的事情,但在 2022 年末 OpenAI 的 ChatGPT 发布后在全球引发了一场 AI 热潮ChatGPT 所表现出来的能力让我们思考在不久的未来我们真的会被 AI 取代吗?</p><p>在知识储备上,我们人类在 AI 面前绝不占优势,就比如 ChatGPT 是几乎使用了绝大多数西方互联网的优质回答而训练出来的,想要在知识储备量战胜 AI 已经成了天方夜谭,但大家也不要为不知道一些知识而焦虑,我很欣赏南京大学的蒋炎岩教授说的一句话:“大佬和小白的差距并不是知识量的差距,而是大佬知道如何问出好的问题,搜索引擎会告诉你答案,或许未来还可以问 AI”</p><p>假如你已经玩过 ChatGPT你会发现它还远没有到真正取代人类的地步而是它的出现已经能够使教育以及学习方式发生巨大变革。接下去我会给你们一些小建议</p><ul><li>如果你希望完成一件事但却不知道怎么做,你可以问搜索引擎 (PS:远离百度!通常会得到 StackOverflow 上的答案),或是直接问 ChatGPT不过要小心人工智能现在还经常一本正经胡说八道。</li><li>问出合适的问题,就像你问一个大佬,假如你给出的 Prompt 非常宽泛而模糊,无论是谁都没法保障给出的答案是你想要的。比如你问“如何学好数学”,你可能会得到“多做题”这样的答案,但这并不是你想要的。你应该问“如何学好导数”,这样你就能得到更加精准的答案。问 ChatGPT 也是同样的道理,假如你给了它一个非常宽泛的 Prompt它也只能给你一个模糊而无用的回答假如给它的 Prompt 非常准确,那么你得到一个优质的回答的概率也会更高。</li><li>有时候遇到一些你不愿意从头读到尾的手册,这时候去问 ChatGPT 是一个合适的选择,在一个手册里可能你需要的只是其中的一小段,但是手册却有几十页,此时 ChatGPT 的优势就体现出来了,它会根据你给的 Prompt 从手册中总结你需要的知识告诉你,这极大地降低了检索知识的成本,所以我觉得 ChatGPT 更像一个加强版搜索引擎。</li><li>向 AI 获取知识在现在的很多时候AI 对于知识的掌控和讲解的逻辑性甚至超过了相当一大部分老师,或许去听 3 节长课甚至不如向 ChatGPT 问几个问题学到的知识更多,(或许未来的课堂可以变成老师下发一张写着问题的卡片,我们只需要发给 ChatGPT通过它的回答来学习。</li><li>还有就是,在大学你会遇到非常多非常无趣的报告,甚至有些报告需要查重,没人愿意写,这时候 ChatGPT 就成为了拯救你的时间的利器,直接告诉它报告的要求,同时限定个数和字数,往往它能给出能混出相对高分的优质(低信息熵)报告,当然这适合的是一些水课报告,专业课报告别这么搞,专业课报告最好用它做来辅助你的写作,而不是直接抄袭。</li></ul><blockquote><p>PS. 不论 ChatGPT 还是一些别的 AI它们的回答都不是绝对准确的使用的时候要带有自己的思考不要盲目相信 AI 的指示,把 AI 作为你的帮手,这能极大提高你的学习效率。</p></blockquote>',6),r=[i];function l(c,h,p,P,s,n){return e(),a("div",null,r)}const T=t(o,[["render",l]]);export{I as __pageData,T as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as a,o as e,a4 as _}from"./chunks/framework.DtvhUNIn.js";const I=JSON.parse('{"title":"2.1.6 学会使用 AI 辅助学习","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.6学会使用AI辅助学习.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.6学会使用AI辅助学习.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/2.6学会使用AI辅助学习.md"},i=_("",6),r=[i];function l(c,h,p,P,s,n){return e(),a("div",null,r)}const T=t(o,[["render",l]]);export{I as __pageData,T as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as e,o as a,a4 as o}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"2.高效学习","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.高效学习.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.高效学习.md"}'),r={name:"技术资源汇总(杭电支持版)/2.高效学习/2.高效学习.md"},s=o('<h1 id="_2-高效学习" tabindex="-1">2.高效学习 <a class="header-anchor" href="#_2-高效学习" aria-label="Permalink to &quot;2.高效学习&quot;"></a></h1><p>author:zzm</p><blockquote><p>邮箱 <a href="mailto:1264517821@qq.com" target="_blank" rel="noreferrer">1264517821@qq.com</a></p></blockquote><p>本章节更多的是纠正同学们开始实验前的一些误区以及提出一些建议。</p><p>同时为大家推荐一些有趣的工具。</p><p>但是首先各位需要了解几个名词</p><div class="danger custom-block"><p class="custom-block-title">名词提醒</p><div style="font-size:2rem;line-height:2;">RTFM</div><p>Read the f**(friendly) manual</p></div><div class="danger custom-block"><p class="custom-block-title">名词提醒</p><div style="font-size:2rem;line-height:2;">STFW</div><p>Search the &quot;friendly&quot; website</p></div><h2 id="为什么不能直接告诉我" tabindex="-1">为什么不能直接告诉我? <a class="header-anchor" href="#为什么不能直接告诉我" aria-label="Permalink to &quot;为什么不能直接告诉我?&quot;"></a></h2><p>因为本讲义的目的除了让你学会知识以外,更重要的目的是教给你如何当一个合格的大学生。</p><p>一个合格的大学生理应具备独立解决问题的能力。</p><p><strong>并且这是无论是学术界还是工业界都非常重视的基本素养</strong></p><p>当遇到问题不是赶紧找个大神帮我,而是&quot;我来试试 STFW 和 RTFM, 看能不能自己解决&quot;.</p><div class="warning custom-block"><p class="custom-block-title">到底该怎么做?</p><p>不得不提的是,目前互联网上是明显信息过剩的,缺失的是一个合适的引导,一条清晰的路径以及去克服困难的勇气!</p><p>这也是我们希望大伙能获得的能力,如果把全部信息都塞上去难免有些揠苗助长。</p><p>况且现在还有 ChatGPT 来辅助你去解决问题,大大降低了学习的难度,不过大家需要谨慎考虑的是,现在的机器也会一本正经的胡说八道</p></div><h2 id="如果真的不知道怎么解决怎么办" tabindex="-1">如果真的不知道怎么解决怎么办? <a class="header-anchor" href="#如果真的不知道怎么解决怎么办" aria-label="Permalink to &quot;如果真的不知道怎么解决怎么办?&quot;"></a></h2><p><img src="https://cdn.xyxsw.site/boxcnSmy1oqFO1glYIYGRZ9NhEb.jpg" alt=""></p><p>来细看看本章节的内容吧!</p><h2 id="参考内容-上海交大生存指南" tabindex="-1">参考内容 上海交大生存指南 <a class="header-anchor" href="#参考内容-上海交大生存指南" aria-label="Permalink to &quot;参考内容 上海交大生存指南&quot;"></a></h2><p><a href="https://survivesjtu.gitbook.io/survivesjtumanual/" target="_blank" rel="noreferrer">https://survivesjtu.gitbook.io/survivesjtumanual/</a></p>',19),i=[s];function l(p,c,n,d,h,u){return a(),e("div",null,i)}const b=t(r,[["render",l]]);export{m as __pageData,b as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as e,o as a,a4 as o}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"2.高效学习","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/2.高效学习.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/2.高效学习.md"}'),r={name:"技术资源汇总(杭电支持版)/2.高效学习/2.高效学习.md"},s=o("",19),i=[s];function l(p,c,n,d,h,u){return a(),e("div",null,i)}const b=t(r,[["render",l]]);export{m as __pageData,b as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as _,o as e,a4 as a}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"补充:为什么不要用百度","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/补充:为什么不要用百度.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/补充:为什么不要用百度.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/补充:为什么不要用百度.md"},i=a('<h1 id="补充-为什么不要用百度" tabindex="-1">补充:为什么不要用百度 <a class="header-anchor" href="#补充-为什么不要用百度" aria-label="Permalink to &quot;补充:为什么不要用百度&quot;"></a></h1><p>相信大家都用过百度来搜索一些非技术问题,而且一般很容易找到答案。但随着问题技术含量的提高,百度的搜索结果会变得越来越不靠谱。坚持使用百度搜索技术问题,你将很有可能会碰到以下情况之一:</p><ul><li>搜不到相关结果,你感到挫败</li><li>搜到看似相关的结果,但无法解决问题,你在感到挫败之余,也发现自己浪费了不少时间</li><li>你搜到了解决问题的方案,但没有发现原因分析,结果你不知道这个问题背后的细节</li></ul><p>你可能会觉得&quot;可以解决问题就行,不需要了解问题背后的细节&quot;。但对于一些问题 (例如编程问题),你了解这些细节就相当于学到了新的知识,所以你应该去了解这些细节,让自己懂得更多。</p><p>如果谷歌能以更高的概率提供可以解决问题的方案,并且带有原因分析,你应该没有理由使用百度来搜索技术问题。如果你仍然坚持使用百度,原因就只有一个:你不想主动去成长。</p><p>你或许会觉得翻阅手册太麻烦了,所以可能会在百度上随便搜一篇博客来尝试寻找解决方案。但是,你需要明确以下几点:</p><ul><li>你搜到的博客可能也是转载别人的,有可能有坑</li><li>博主只是分享了他的经历,有些说法也不一定准确</li><li>搜到了相关内容,也不一定会有全面的描述</li></ul><p>最重要的是,当你尝试了上述方法而又无法解决问题的时候,你需要明确&quot;我刚才只是在尝试走捷径,看来我需要试试 RTFM 了&quot;。</p>',8),l=[i];function r(s,c,n,p,d,u){return e(),_("div",null,l)}const f=t(o,[["render",r]]);export{m as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as t,c as _,o as e,a4 as a}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"补充:为什么不要用百度","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/2.高效学习/补充:为什么不要用百度.md","filePath":"技术资源汇总(杭电支持版)/2.高效学习/补充:为什么不要用百度.md"}'),o={name:"技术资源汇总(杭电支持版)/2.高效学习/补充:为什么不要用百度.md"},i=a("",8),l=[i];function r(s,c,n,p,d,u){return e(),_("div",null,l)}const f=t(o,[["render",r]]);export{m as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as l,c as a,o as e,a4 as i}from"./chunks/framework.DtvhUNIn.js";const b=JSON.parse('{"title":"3.0 编程入门之道","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.0 编程入门之道.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.0 编程入门之道.md"}'),t={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.0 编程入门之道.md"},o=i("",52),r=[o];function n(p,h,s,c,d,u){return e(),a("div",null,r)}const f=l(t,[["render",n]]);export{b as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as e,c as a,o as i,a4 as l}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"3.1 该使用哪个编辑器???","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.1该使用哪个编辑器???.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.1该使用哪个编辑器???.md"}'),r={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.1该使用哪个编辑器???.md"},t=l("",37),o=[t];function n(p,s,c,h,d,_){return i(),a("div",null,o)}const C=e(r,[["render",n]]);export{m as __pageData,C as default};

View File

@@ -1 +0,0 @@
import{_ as e,c as a,o as p,a4 as t}from"./chunks/framework.DtvhUNIn.js";const m=JSON.parse('{"title":"3.2.2 手把手教你学算法——如何使用 OJOnline Judge","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2.1手把手教你学算法——如何使用OJOnline Judge.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2.1手把手教你学算法——如何使用OJOnline Judge.md"}'),n={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2.1手把手教你学算法——如何使用OJOnline Judge.md"},i=t("",82),o=[i];function r(s,l,c,h,d,g){return p(),a("div",null,o)}const _=e(n,[["render",r]]);export{m as __pageData,_ as default};

View File

@@ -1 +0,0 @@
import{_ as e,c as a,o as r,a4 as o}from"./chunks/framework.DtvhUNIn.js";const C=JSON.parse('{"title":"3.2.3 ACM 竞赛从入门到入坟","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2.2ACM 竞赛从入门到入坟.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2.2ACM 竞赛从入门到入坟.md"}'),t={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2.2ACM 竞赛从入门到入坟.md"},i=o("",37),l=[i];function p(h,n,c,s,d,_){return r(),a("div",null,l)}const u=e(t,[["render",p]]);export{C as __pageData,u as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as r,a4 as t}from"./chunks/framework.DtvhUNIn.js";const f=JSON.parse('{"title":"3.2 算法杂谈","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2算法杂谈.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2算法杂谈.md"}'),o={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.2算法杂谈.md"},c=t("",19),n=[c];function h(s,i,l,p,d,_){return r(),e("div",null,n)}const m=a(o,[["render",h]]);export{f as __pageData,m as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as t,o as e,a4 as r}from"./chunks/framework.DtvhUNIn.js";const C=JSON.parse('{"title":"3.3 如何选择编程语言","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.3如何选择编程语言.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.3如何选择编程语言.md"}'),o={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.3如何选择编程语言.md"},n=r("",30),p=[n];function s(i,h,l,c,d,_){return e(),t("div",null,p)}const u=a(o,[["render",s]]);export{C as __pageData,u as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as t,a4 as r}from"./chunks/framework.DtvhUNIn.js";const q=JSON.parse('{"title":"FAQ常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.1FAQ:常见问题.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.1FAQ:常见问题.md"}'),i={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.1FAQ:常见问题.md"},o=r("",34),l=[o];function n(p,h,s,c,d,u){return t(),e("div",null,l)}const b=a(i,[["render",n]]);export{q as __pageData,b as default};

View File

@@ -1 +0,0 @@
import{_ as t,D as o,c as i,I as s,a4 as a,o as n}from"./chunks/framework.DtvhUNIn.js";const g=JSON.parse('{"title":"用什么写 C 语言","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.2用什么写 C 语言.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.2用什么写 C 语言.md"}'),r={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.2用什么写 C 语言.md"},c=a("",4),p=a("",92);function d(l,h,u,x,b,m){const e=o("Bilibili");return n(),i("div",null,[c,s(e,{bvid:"BV1Xt411g7jT"}),p])}const f=t(r,[["render",d]]);export{g as __pageData,f as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as r,a4 as t}from"./chunks/framework.DtvhUNIn.js";const g=JSON.parse('{"title":"解决编程问题的普适性过程","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.3解决编程问题的普适性过程.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.3解决编程问题的普适性过程.md"}'),o={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.3解决编程问题的普适性过程.md"},i=t("",32),l=[i];function s(n,p,h,d,u,c){return r(),e("div",null,l)}const m=a(o,[["render",s]]);export{g as __pageData,m as default};

View File

@@ -1 +0,0 @@
import{_ as s,D as o,c as i,I as r,j as e,a as t,a4 as l,o as c}from"./chunks/framework.DtvhUNIn.js";const N=JSON.parse('{"title":"C 语言前置概念学习","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.4C语言前置概念学习.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.4C语言前置概念学习.md"}'),_={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.4C语言前置概念学习.md"},h=e("h1",{id:"c-语言前置概念学习",tabindex:"-1"},[t("C 语言前置概念学习 "),e("a",{class:"header-anchor",href:"#c-语言前置概念学习","aria-label":'Permalink to "C 语言前置概念学习"'},"")],-1),d=e("p",null,"如何学习 C 语言?**第一步:Throw away the textbook。**也许你可以通过以下途径:",-1),p=e("p",null,"以下方式难度由易到难,但并不意味着收获由小到大:",-1),u=e("p",null,[t("1.Video"),e("a",{href:"https://www.bilibili.com/video/BV1dr4y1n7vA",target:"_blank",rel:"noreferrer"},"B 站翁恺的 C 语言课程"),t("(非常基础,缺点是只看视频学的过浅)")],-1),m=e("p",null,[t("2.MOOC"),e("a",{href:"https://www.icourse163.org/course/ZJU-9001",target:"_blank",rel:"noreferrer"},"翁凯 C 课程的 MOOC 慕课"),t("(同上,慕课的习题和 Projects 性价比不高,几乎没有差别)")],-1),g=e("p",null,[t("3.Web"),e("a",{href:"https://www.runoob.com/cprogramming/c-tutorial.html",target:"_blank",rel:"noreferrer"},"菜鸟教程"),t("(基础但是覆盖面较广,不够深入)")],-1),b=e("p",null,[t("4.Web"),e("a",{href:"https://github.com/coderit666/CNote",target:"_blank",rel:"noreferrer"},"CNote"),t("(例子密集,学习曲线平滑,覆盖面广且具有深度)")],-1),C={class:"tip custom-block"},f=e("p",{class:"custom-block-title"},"📥",-1),w=l("",12);function k(x,P,B,T,V,v){const a=o("Bilibili"),n=o("Download");return c(),i("div",null,[h,d,p,u,r(a,{bvid:"BV1dr4y1n7vA"}),m,g,b,e("div",C,[f,e("p",null,[t("《C Primer Plus》第六版中文版216MB附件下载 "),r(n,{url:"https://cdn.xyxsw.site/files/C%20Primer%20Plus%E7%AC%AC6%E7%89%88%20%E4%B8%AD%E6%96%87%E7%89%88.pdf"})])]),w])}const O=s(_,[["render",k]]);export{N as __pageData,O as default};

View File

@@ -1,115 +0,0 @@
import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DtvhUNIn.js";const c=JSON.parse('{"title":"C 语言自测标准——链表","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5.1C语言自测标准——链表.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5.1C语言自测标准——链表.md"}'),h={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5.1C语言自测标准——链表.md"},p=n(`<h1 id="c-语言自测标准——链表" tabindex="-1">C 语言自测标准——链表 <a class="header-anchor" href="#c-语言自测标准——链表" aria-label="Permalink to &quot;C 语言自测标准——链表&quot;"></a></h1><h2 id="链表-单链表-是什么" tabindex="-1">链表(单链表)是什么 <a class="header-anchor" href="#链表-单链表-是什么" aria-label="Permalink to &quot;链表(单链表)是什么&quot;"></a></h2><p>链表又称单链表、链式存储结构,用于存储逻辑关系为“一对一”的数据。</p><p>使用链表存储数据,不强制要求数据在内存中集中存储,各个元素可以分散存储在内存中。例如,使用链表存储 {1,2,3},各个元素在内存中的存储状态可能是:</p><p><img src="https://cdn.xyxsw.site/boxcnuwZzqX4dF8xKTYajwrDSxf.png" alt=""></p><p>可以看到,数据不仅没有集中存放,在内存中的存储次序也是混乱的。那么,链表是如何存储数据间逻辑关系的呢?</p><p>链表存储数据间逻辑关系的实现方案是:为每一个元素配置一个指针,每个元素的指针都指向自己的直接后继元素,如下图所示:</p><p><img src="https://cdn.xyxsw.site/boxcnAnkVAJmMT0NSNvo6crXYAd.png" alt=""></p><p>显然,我们只需要记住元素 1 的存储位置,通过它的指针就可以找到元素 2通过元素 2 的指针就可以找到元素 3以此类推各个元素的先后次序一目了然。像图 2 这样,数据元素随机存储在内存中,通过指针维系数据之间“一对一”的逻辑关系,这样的存储结构就是链表。</p><h3 id="结点-节点" tabindex="-1">结点(节点) <a class="header-anchor" href="#结点-节点" aria-label="Permalink to &quot;结点(节点)&quot;"></a></h3><p>在链表中,每个数据元素都配有一个指针,这意味着,链表上的每个“元素”都长下图这个样子:</p><p><img src="https://cdn.xyxsw.site/boxcncRc5OKZROtxC9rpQYxrjvf.png" alt=""></p><p>数据域用来存储元素的值,指针域用来存放指针。数据结构中,通常将这样的整体称为结点。</p><p>也就是说,链表中实际存放的是一个一个的结点,数据元素存放在各个结点的数据域中。举个简单的例子,图 3 中 {1,2,3} 的存储状态用链表表示,如下图所示:</p><p><img src="https://cdn.xyxsw.site/boxcn0VMYQlez7tQTNkTPDkCsvg.png" alt=""></p><p>在 C 语言中,可以用结构体表示链表中的结点,例如:</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">typedef</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> struct</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Node{</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> int</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> elem;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //代表数据域</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> struct</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Node </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> next;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //代表指针域,指向直接后继元素</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}Node;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">typedef</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> struct</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Node</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Link;</span></span></code></pre></div><h3 id="头结点、头指针和首元结点" tabindex="-1">头结点、头指针和首元结点 <a class="header-anchor" href="#头结点、头指针和首元结点" aria-label="Permalink to &quot;头结点、头指针和首元结点&quot;"></a></h3><p>图 4 所示的链表并不完整,一个完整的链表应该由以下几部分构成:</p><p>头指针:是指向链表中一个结点所在存储位置的指针。如果链表中有头结点,则头指针指向头结点;若链表中没有头结点,则头指针指向链表中第一个数据结点(也叫首元结点)。</p><p>链表有头指针,当我们需要使用链表中的数据时,我们可以使用遍历查找等方法,从头指针指向的结点开始,依次搜索,直到找到需要的数据;反之,若没有头指针,则链表中的数据根本无法使用,也就失去了存储数据的意义。</p><p>结点:链表中的节点又细分为头结点、首元结点和其它结点:</p><p>头结点:位于链表的表头,即链表中第一个结点,其一般不存储任何数据,特殊情况可存储表示链表信息(表的长度等)的数据。</p><p>头结点的存在,其本身没有任何作用,就是一个空结点,但是在对链表的某些操作中,链表有无头结点,可以直接影响编程实现的难易程度。</p><p>例如,若链表无头结点,则对于在链表中第一个数据结点之前插入一个新结点,或者对链表中第一个数据结点做删除操作,都必须要当做特殊情况,进行特殊考虑;而若链表中设有头结点,以上两种特殊情况都可被视为普通情况,不需要特殊考虑,降低了问题实现的难度。</p><p><strong>链表有头结点,也不一定都是有利的。例如解决约瑟夫环问题,若链表有头结点,在一定程度上会阻碍算法的实现。</strong></p><p><strong>所以,对于一个链表来说,设置头指针是必要且必须的,但有没有头结点,则需要根据实际问题特殊分析。</strong></p><p>首元结点:指的是链表开头第一个存有数据的结点。</p><p>其他节点:链表中其他的节点。</p><p>也就是说,一个完整的链表是由头指针和诸多个结点构成的。每个链表都必须有头指针,但头结点不是必须的。</p><p>例如,创建一个包含头结点的链表存储 {1,2,3},如下图所示:</p><p><img src="https://cdn.xyxsw.site/boxcnjAoO54txAhnu7Ry8ExjGvc.png" alt=""></p><h2 id="链表的创建" tabindex="-1">链表的创建 <a class="header-anchor" href="#链表的创建" aria-label="Permalink to &quot;链表的创建&quot;"></a></h2><p>创建一个链表,实现步骤如下:</p><ol><li>定义一个头指针;</li><li>创建一个头结点或者首元结点,让头指针指向它;</li><li>每创建一个结点,都令其直接前驱结点的指针指向它(尾插法/头插法)。</li></ol><h3 id="创建头指针和头结点-首元结点" tabindex="-1">创建头指针和头结点(首元结点) <a class="header-anchor" href="#创建头指针和头结点-首元结点" aria-label="Permalink to &quot;创建头指针和头结点(首元结点)&quot;"></a></h3><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">typedef</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> struct</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Node{</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> int</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> elem;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //代表数据域</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> struct</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Node </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> next;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //代表指针域,指向直接后继元素</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}Node;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">typedef</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> struct</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Node</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Link;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-----------------------------------------------------------------------</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Link</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> head </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (Link</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">malloc</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">sizeof</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Link));</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //创建头指针</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">head </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (Link)</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">malloc</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">sizeof</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Node));</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">//创建头结点(首元结点)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">head)</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">elem </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> element;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">//头结点可以不存储数据或存储特殊数据</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">head)</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">next </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> NULL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">//初始头结点/首元结点的后继元素为空</span></span></code></pre></div><h3 id="创建结点——头插法" tabindex="-1">创建结点——头插法 <a class="header-anchor" href="#创建结点——头插法" aria-label="Permalink to &quot;创建结点——头插法&quot;"></a></h3><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Link p; </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (Judgement)</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //for 同理</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (Link)</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">malloc</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">sizeof</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Node));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;elem </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> element;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;next </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">head)-&gt;next;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">head)-&gt;next </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p><img src="https://cdn.xyxsw.site/boxcn8ZxT5oMkScArZjZhgM6TYb.png" alt=""></p><h3 id="创建结点——尾插法" tabindex="-1">创建结点——尾插法 <a class="header-anchor" href="#创建结点——尾插法" aria-label="Permalink to &quot;创建结点——尾插法&quot;"></a></h3><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Link p;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Link r </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">head);</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //临时中间结构指针,在尾插法中始终指向最后一个结点</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">while</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (Judgement)</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //for 同理</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (Link)</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">malloc</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">sizeof</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Node));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;elem </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> element;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;next </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> NULL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r-&gt;next </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p><img src="https://cdn.xyxsw.site/boxcnnMjc9pwgZgk1GBmBRlBS6d.png" alt=""></p><h2 id="链表的基本操作" tabindex="-1">链表的基本操作 <a class="header-anchor" href="#链表的基本操作" aria-label="Permalink to &quot;链表的基本操作&quot;"></a></h2><p>学会创建链表之后,本节继续讲解链表的一些基本操作,包括向链表中添加数据、删除链表中的数据、读取、查找和更改链表中的数据。</p><h3 id="链表读取元素" tabindex="-1">链表读取元素 <a class="header-anchor" href="#链表读取元素" aria-label="Permalink to &quot;链表读取元素&quot;"></a></h3><p>获得链表第 i 个数据的算法思路:</p><ol><li>声明一个结点 p 指向链表的第一个结点,初始化 j 从 1 开始;</li><li>当 j&lt;i 时,就遍历链表,让 p 的指针向后移动不断指向下一个结点j 累加 1</li><li>若到链表末尾 p 为空,则说明第 i 个元素不存在;</li><li>否则读取成功,返回结点 p 的数据</li></ol><p>实现代码如下:</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">#define</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> error</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 0</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">#define</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ok</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/*用 e 返回 L 中第 i 个数据元素的值*/</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> GetElem</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Link </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">L</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> i; </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> *</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Link p; </span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">L)-&gt;next;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //p 指向第一个结点</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> int</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> j </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> while</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (p </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&amp;&amp;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> j </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&lt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> i)</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //p 不为空或者计数器 j 还没有等于 i 时,循环继续</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;next;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //p 指向下一个结点</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> j</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">p)</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //第 i 个元素不存在</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> error;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> *</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">e </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;elem;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //取第 i 个元素的数据</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ok;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>了解了链表如何读取元素,同理我们可以实现更新和查找链表元素。</p><h3 id="链表插入元素" tabindex="-1">链表插入元素 <a class="header-anchor" href="#链表插入元素" aria-label="Permalink to &quot;链表插入元素&quot;"></a></h3><p>向链表中增添元素,根据添加位置不同,可分为以下 3 种情况:</p><ul><li>插入到链表的头部,作为首元节点;</li><li>插入到链表中间的某个位置;</li><li>插入到链表的最末端,作为链表中最后一个结点;</li></ul><p>对于有头结点的链表3 种插入元素的实现思想是相同的,具体步骤是:</p><ol><li>将新结点的 next 指针指向插入位置后的结点;</li><li>将插入位置前结点的 next 指针指向插入结点;</li></ol><p>例如,在链表 <code>{1,2,3,4}</code> 的基础上分别实现在头部、中间、尾部插入新元素 5其实现过程如图所示</p><p><img src="https://cdn.xyxsw.site/boxcnxjex5Q3Lt9AAx6roN3ClUg.png" alt=""></p><p>从图中可以看出,虽然新元素的插入位置不同,但实现插入操作的方法是一致的,都是先执行步骤 1再执行步骤 2。实现代码如下</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/*在 L 中第 i 个位置(注意链表中的位置不一定为结点的个数)之前插入新的数据元素 e</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">L 的长度加一(可以用头结点存储链表长度)*/</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ListInsert</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Link </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">L</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> i</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Link p, r;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //r 为临时中间结构指针,用于实现插入</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> *</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">L;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //p 指向头结点</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> int</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> j </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> while</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (p </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&amp;&amp;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> j </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&lt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> i)</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //寻找第 i 个结点,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;next;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> j</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">p)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> error;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (Link)</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">malloc</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">sizeof</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Node));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r-&gt;elem </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r-&gt;next </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;next;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;next </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ok;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>注意:链表插入元素的操作必须是先步骤 1再步骤 2反之若先执行步骤 2除非再添加一个指针作为插入位置后续链表的头指针否则会导致插入位置后的这部分链表丢失无法再实现步骤 1。</p><p>对于没有头结点的链表,在头部插入结点比较特殊,需要单独实现。</p><p><img src="https://cdn.xyxsw.site/boxcn1hlL1Fk4kDK4CPT2hJxwnV.png" alt=""></p><p>和 2)、3) 种情况相比,由于链表没有头结点,在头部插入新结点,此结点之前没有任何结点,实现的步骤如下:</p><ol><li>将新结点的指针指向首元结点;</li><li>将头指针指向新结点。</li></ol><p>实现代码如下:</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/*在 L 中第 i 个位置(注意链表中的位置不一定为结点的个数)之前插入新的数据元素 e</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">L 的长度加一(可以用头结点存储链表长度)*/</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ListInsert</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Link </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">L</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> i</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Link r </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (Link)</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">malloc</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">sizeof</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Node));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r-&gt;elem </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> e;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r-&gt;next </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">L)-&gt;next;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> *</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">L </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //......</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h3 id="链表删除元素" tabindex="-1">链表删除元素 <a class="header-anchor" href="#链表删除元素" aria-label="Permalink to &quot;链表删除元素&quot;"></a></h3><p>从链表中删除指定数据元素时,实则就是将存有该数据元素的节点从链表中摘除。</p><p>对于有头结点的链表来说,无论删除头部(首元结点)、中部、尾部的结点,实现方式都一样,执行以下三步操作:</p><ol><li>找到目标元素所在结点的直接前驱结点;</li><li>将目标结点从链表中摘下来;</li><li>手动释放结点占用的内存空间;</li></ol><p>从链表上摘除目标节点,只需找到该节点的直接前驱节点 temp执行如下操作</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">temp</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">next</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">temp</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">next</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">-&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">next;</span></span></code></pre></div><p>例如,从存有 <code>{1,2,3,4}</code> 的链表中删除存储元素 3 的结点,则此代码的执行效果如图 3 所示:</p><p><img src="https://cdn.xyxsw.site/boxcnn3QHja0tzEwqJl9Mk4KnCg.png" alt=""></p><p>实现代码如下:</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/*删除 L 中的第 i 个数据元素,并用 e 返回其值L 的长度减一</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">(可以用头结点存储链表长度)*/</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ListDelete</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Link </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">L</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> i</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Link p, r;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> *</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">L;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> int</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> j </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> while</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (p-&gt;next </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&amp;&amp;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> j </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&lt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> i)</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //寻找删除元素中的前驱元素</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;next;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> j</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">++</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">!</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(p-&gt;next))</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> error;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //L 中不存在第 i 个元素</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;next;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //标记要删除的结点</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> p-&gt;next </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r-&gt;next;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //移除结点</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> *</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">e </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r-&gt;elem;</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //返回结点所存数据</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> free</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(r);</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //释放结点</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ok;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>对于不带头结点的链表,需要单独考虑删除首元结点的情况,删除其它结点的方式和图 3 完全相同,如下图所示:</p><p><img src="https://cdn.xyxsw.site/boxcnXjwE0yDFvpQxLaPw7FifxV.png" alt=""></p><p>实现代码如下:</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">/*删除 L 中的第 i 个数据元素,并用 e 返回其值L 的长度减一</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">(可以用头结点存储链表长度)*/</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> ListDelete</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Link </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">L</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> i</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int*</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;"> e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (i </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">==</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Link r </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> *</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">L;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> *</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">L</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r-&gt;next;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> *</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">e </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> r-&gt;elem;</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> free</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(r);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> else</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> //......</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h3 id="链表查找元素" tabindex="-1">链表查找元素 <a class="header-anchor" href="#链表查找元素" aria-label="Permalink to &quot;链表查找元素&quot;"></a></h3><p>在链表中查找指定数据元素,最常用的方法是:从首元结点开始依次遍历所有节点,直至找到存储目标元素的结点。如果遍历至最后一个结点仍未找到,表明链表中没有存储该元素。</p><h3 id="链表更新元素" tabindex="-1">链表更新元素 <a class="header-anchor" href="#链表更新元素" aria-label="Permalink to &quot;链表更新元素&quot;"></a></h3><p>更新链表中的元素,只需通过遍历找到存储此元素的节点,对节点中的数据域做更改操作即可。</p><h2 id="约瑟夫环" tabindex="-1">约瑟夫环 <a class="header-anchor" href="#约瑟夫环" aria-label="Permalink to &quot;约瑟夫环&quot;"></a></h2><p>约瑟夫环问题,是一个经典的循环链表问题,题意是:已知 n 个人(分别用编号 123n 表示)围坐在一张圆桌周围,从编号为 k 的人开始顺时针报数,数到 m 的那个人出列;他的下一个人又从 1 开始,还是顺时针开始报数,数到 m 的那个人又出列;依次重复下去,直到圆桌上剩余一个人。</p><p>如图所示,假设此时圆周周围有 5 个人,要求从编号为 3 的人开始顺时针数数,数到 2 的那个人出列:</p><p><img src="https://cdn.xyxsw.site/boxcngx7ZPA7pONbJo82LbNCO1g.png" alt=""></p><p>出列顺序依次为:</p><ul><li>编号为 3 的人开始数 1然后 4 数 2所以 4 先出列;</li><li>4 出列后,从 5 开始数 11 数 2所以 1 出列;</li><li>1 出列后,从 2 开始数 13 数 2所以 3 出列;</li><li>3 出列后,从 5 开始数 12 数 2所以 2 出列;</li><li>最后只剩下 5 自己,所以 5 胜出。</li></ul><p>那么,究竟要如何用链表实现约瑟夫环呢?如何让一个含 5 个元素的约瑟夫环,能从第 5 个元素出发,访问到第 2 个元素呢?上面所讲的链表操作显然是难以做到的,解决这个问题就需要用到<strong>循环链表</strong>。</p><h2 id="循环链表" tabindex="-1">循环链表 <a class="header-anchor" href="#循环链表" aria-label="Permalink to &quot;循环链表&quot;"></a></h2><p>将单链表中终端结点的指针端由空指针改为指向头结点,使得整个单链表形成一个环,这种头尾相接的单链表成为单循环链表,简称循环链表。</p><p>循环链表解决了一个很麻烦的问题。如何从当中一个结点出发,访问到链表的全部结点。</p><p>为了使空链表和非空链表处理一致,我们通常设一个头结点,当然,并不是说,循环链表一定要头结点,这需要注意。循环链表带有头结点的空链表如图所示:</p><p><img src="https://cdn.xyxsw.site/boxcn3l30usevMTgv1ZbZ0mfJdh.png" alt=""></p><p>对于非空的循环链表如图所示:</p><p><img src="https://cdn.xyxsw.site/boxcngoLTiM9wto9uCGzH7nkjkW.png" alt=""></p><p>循环链表和单链表的主要差异就在于循环的判断条件上,原来是判断 p-&gt;next 是否为空,现在则是 p-&gt;next 不等于头结点,则循环未结束。</p>`,100),l=[p];function k(t,e,E,r,d,g){return a(),i("div",null,l)}const o=s(h,[["render",k]]);export{c as __pageData,o as default};

View File

@@ -1 +0,0 @@
import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DtvhUNIn.js";const c=JSON.parse('{"title":"C 语言自测标准——链表","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5.1C语言自测标准——链表.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5.1C语言自测标准——链表.md"}'),h={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5.1C语言自测标准——链表.md"},p=n("",100),l=[p];function k(t,e,E,r,d,g){return a(),i("div",null,l)}const o=s(h,[["render",k]]);export{c as __pageData,o as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.DtvhUNIn.js";const C=JSON.parse('{"title":"阶段一:编程属性","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5阶段一:编程属性.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5阶段一:编程属性.md"}'),i={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5阶段一:编程属性.md"},r=o('<h1 id="阶段一-编程属性" tabindex="-1">阶段一:编程属性 <a class="header-anchor" href="#阶段一-编程属性" aria-label="Permalink to &quot;阶段一:编程属性&quot;"></a></h1><h2 id="c-语言任务模块" tabindex="-1"><a href="https://github.com/E1PsyCongroo/HDU_C_Assignments/" target="_blank" rel="noreferrer">C 语言任务模块</a> <a class="header-anchor" href="#c-语言任务模块" aria-label="Permalink to &quot;[C 语言任务模块](https://github.com/E1PsyCongroo/HDU_C_Assignments/)&quot;"></a></h2><p>作为一名合格的大学生,更应深谙“纸上得来终觉浅,绝知此事要躬行”的道理,编程语言就像是一个工具,无论你如何熟读说明书(语法、特性),未经实践终究是靠不住的。</p><p>本模块将以有趣的任务的形式替你检测是否你已经达到了基本掌握 C 语言语法和一些特性的目的</p><ul><li>该任务模块旨在帮助巩固 C 语言基础知识,传递一些编程思维,入门学习请看 <a href="./3.4.4C语言前置概念学习.html">3.4.4C 语言前置概念学习</a></li><li>你可以通过使用 git 工具 <code>git clone https://github.com/E1PsyCongroo/HDU_C_Assignments.git</code> 获取任务</li><li>或者访问 <a href="https://github.com/E1PsyCongroo/HDU_C_Assignments" target="_blank" rel="noreferrer">https://github.com/E1PsyCongroo/HDU_C_Assignments</a> 学习</li></ul><h2 id="任务一做前必查" tabindex="-1">任务一做前必查 <a class="header-anchor" href="#任务一做前必查" aria-label="Permalink to &quot;任务一做前必查&quot;"></a></h2><ol><li>理解<a href="./3.4.3解决编程问题的普适性过程.html">3.4.3 解决编程问题的普适性过程</a> 。</li><li>理解 C 语言语法基础:变量、表达式、函数、判断、循环、常用标准库函数。</li><li>理解 C 语言中的一切都是数字。</li><li>初步理解 C 语言各类数据类型:基本数据类型和复杂自定义数据类型。</li><li>初步理解 C 语言数组及字符串。</li></ol><h2 id="任务二做前必查" tabindex="-1">任务二做前必查 <a class="header-anchor" href="#任务二做前必查" aria-label="Permalink to &quot;任务二做前必查&quot;"></a></h2><ol><li>深入理解 C 语言指针、数组和字符串。</li><li>理解递归思想。</li><li>理解复杂自定义数据类型。</li></ol><h2 id="请阅读各个任务的-readme-md-了解完成任务所需的前置知识" tabindex="-1">请阅读各个任务的 README.md了解完成任务所需的前置知识 <a class="header-anchor" href="#请阅读各个任务的-readme-md-了解完成任务所需的前置知识" aria-label="Permalink to &quot;请阅读各个任务的 README.md了解完成任务所需的前置知识&quot;"></a></h2><p>进阶:评价一个程序,大体分为以下四个层次。</p><p>1.程序没有语法错误。</p><p>2.程序对于合法的输入数据能够产生满足要求的输入结果。</p><p>3.程序对于非法的输入数据能够得出满足规格说明的结果。</p><p>4.程序对于精心选择的,甚至刁难的测试数据都有满足要求的输入结果。</p><p>在你写完这些代码后会不会感觉你的代码不够优雅呢?</p><p>假设你的逻辑更为复杂,需要完成的功能更多,如果全部写在 main 里面你会不会觉得越来越困难呢?</p><p>有没有一种方法可以让你更为优雅的把每一个功能拆分开呢?</p><p>当然有,在下一章,你会深刻的体会到函数的意义</p>',19),l=[r];function s(n,_,h,c,p,d){return t(),e("div",null,l)}const u=a(i,[["render",s]]);export{C as __pageData,u as default};

View File

@@ -1 +0,0 @@
import{_ as a,c as e,o as t,a4 as o}from"./chunks/framework.DtvhUNIn.js";const C=JSON.parse('{"title":"阶段一:编程属性","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5阶段一:编程属性.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5阶段一:编程属性.md"}'),i={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.5阶段一:编程属性.md"},r=o("",19),l=[r];function s(n,_,h,c,p,d){return t(),e("div",null,l)}const u=a(i,[["render",s]]);export{C as __pageData,u as default};

View File

@@ -1,9 +0,0 @@
import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DtvhUNIn.js";const F=JSON.parse('{"title":"1.开始冒险","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.1.开始冒险.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.1.开始冒险.md"}'),t={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.1.开始冒险.md"},e=n(`<h1 id="_1-开始冒险" tabindex="-1">1.开始冒险 <a class="header-anchor" href="#_1-开始冒险" aria-label="Permalink to &quot;1.开始冒险&quot;"></a></h1><p>让我们从一个最基本的函数开始</p><div class="language-c vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">c</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">#include</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &lt;stdio.h&gt;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">int</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> main</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> printf</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Welcome to Little Cave Adventure.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\n</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> printf</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;It is very dark in here.</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\n</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> printf</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\n</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">Bye!</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">\\n</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>输出样例:</p><p>Welcome to Little Cave Adventure. It is very dark in here.</p><p>Bye!</p><p>尽管可能微不足道,但该程序确实展示 <em>了</em>任何文本冒险中最重要的方面:描述性文本。一个好的故事是制作一款好的冒险游戏的要素之一。</p><h2 id="为什么要用英文" tabindex="-1">为什么要用英文? <a class="header-anchor" href="#为什么要用英文" aria-label="Permalink to &quot;为什么要用英文?&quot;"></a></h2><p>因为中文的编码模式可能会带来奇怪的影响。</p><p>思考题:大家可自行去了解 utf-8GDB 等编码模式及其历程</p>`,10),h=[e];function p(l,k,r,d,E,o){return a(),i("div",null,h)}const g=s(t,[["render",p]]);export{F as __pageData,g as default};

View File

@@ -1 +0,0 @@
import{_ as s,c as i,o as a,a4 as n}from"./chunks/framework.DtvhUNIn.js";const F=JSON.parse('{"title":"1.开始冒险","description":"","frontmatter":{},"headers":[],"relativePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.1.开始冒险.md","filePath":"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.1.开始冒险.md"}'),t={name:"技术资源汇总(杭电支持版)/3.编程思维体系构建/3.4.6.1.开始冒险.md"},e=n("",10),h=[e];function p(l,k,r,d,E,o){return a(),i("div",null,h)}const g=s(t,[["render",p]]);export{F as __pageData,g as default};

Some files were not shown because too many files have changed in this diff Show More