676 lines
31 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN" dir="auto">
<head><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="robots" content="index, follow">
<title>王道《数据结构》网课PPTPDF版 | NEU小站</title>
<meta name="keywords" content="">
<meta name="description" content=" 标签:#专业课 #软件学院 #计算机学院 #计算机科学与工程学院 #计院 #软院 #课本 #PDF #电子版 #教材
此处收录了王道《数据结构》网课PPTPDF版。共有3个文件请开启浏览器“允许多个文件下载”。
文件大小104.17 MB
下载该资源需要25东币
点击下载
下载安全保护中
3秒后将开始下载...
">
<meta name="author" content="
V
V
">
<link rel="canonical" href="https://xn--xhq44jb2fzpc.com/resources/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%8E%8B%E9%81%93%E7%BD%91%E8%AF%BEpdf/">
<link rel="stylesheet" href="/css/custom.css">
<link rel="stylesheet" href="/css/dl.css">
<link crossorigin="anonymous" href="/assets/css/stylesheet.css" rel="preload stylesheet" as="style">
<link rel="icon" href="https://xn--xhq44jb2fzpc.com/icons/favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="https://xn--xhq44jb2fzpc.com/icons/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://xn--xhq44jb2fzpc.com/icons/favicon-32x32.png">
<link rel="apple-touch-icon" href="https://xn--xhq44jb2fzpc.com/icons/apple-touch-icon.png">
<link rel="mask-icon" href="https://xn--xhq44jb2fzpc.com/safari-pinned-tab.svg">
<meta name="theme-color" content="#2e2e33">
<meta name="msapplication-TileColor" content="#2e2e33">
<link rel="alternate" hreflang="en" href="https://xn--xhq44jb2fzpc.com/resources/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%8E%8B%E9%81%93%E7%BD%91%E8%AF%BEpdf/">
<noscript>
<style>
#theme-toggle,
.top-link {
display: none;
}
</style>
<style>
@media (prefers-color-scheme: dark) {
:root {
--theme: rgb(29, 30, 32);
--entry: rgb(46, 46, 51);
--primary: rgb(218, 218, 219);
--secondary: rgb(155, 156, 157);
--tertiary: rgb(65, 66, 68);
--content: rgb(196, 196, 197);
--code-block-bg: rgb(46, 46, 51);
--code-bg: rgb(55, 56, 62);
--border: rgb(51, 51, 51);
}
.list {
background: var(--theme);
}
.list:not(.dark)::-webkit-scrollbar-track {
background: 0 0;
}
.list:not(.dark)::-webkit-scrollbar-thumb {
border-color: var(--theme);
}
}
</style>
</noscript>
<meta property="og:title" content="王道《数据结构》网课PPTPDF版" />
<meta property="og:description" content=" 标签:#专业课 #软件学院 #计算机学院 #计算机科学与工程学院 #计院 #软院 #课本 #PDF #电子版 #教材
此处收录了王道《数据结构》网课PPTPDF版。共有3个文件请开启浏览器“允许多个文件下载”。
文件大小104.17 MB
下载该资源需要25东币
点击下载
下载安全保护中
3秒后将开始下载...
" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://xn--xhq44jb2fzpc.com/resources/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%8E%8B%E9%81%93%E7%BD%91%E8%AF%BEpdf/" /><meta property="article:section" content="resources" />
<meta property="article:published_time" content="2025-01-13T17:01:00+08:00" />
<meta property="article:modified_time" content="2025-01-13T17:01:00+08:00" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="王道《数据结构》网课PPTPDF版"/>
<meta name="twitter:description" content=" 标签:#专业课 #软件学院 #计算机学院 #计算机科学与工程学院 #计院 #软院 #课本 #PDF #电子版 #教材
此处收录了王道《数据结构》网课PPTPDF版。共有3个文件请开启浏览器“允许多个文件下载”。
文件大小104.17 MB
下载该资源需要25东币
点击下载
下载安全保护中
3秒后将开始下载...
"/>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1 ,
"name": "资源共享",
"item": "https://xn--xhq44jb2fzpc.com/resources/"
},
{
"@type": "ListItem",
"position": 2 ,
"name": "王道《数据结构》网课PPTPDF版",
"item": "https://xn--xhq44jb2fzpc.com/resources/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%8E%8B%E9%81%93%E7%BD%91%E8%AF%BEpdf/"
}
]
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "王道《数据结构》网课PPTPDF版",
"name": "王道《数据结构》网课PPTPDF版",
"description": " 标签:#专业课 #软件学院 #计算机学院 #计算机科学与工程学院 #计院 #软院 #课本 #PDF #电子版 #教材\n此处收录了王道《数据结构》网课PPTPDF版。共有3个文件请开启浏览器“允许多个文件下载”。\n文件大小104.17 MB\n下载该资源需要25东币\n点击下载\r下载安全保护中\r3秒后将开始下载...\r",
"keywords": [
],
"articleBody": " 标签:#专业课 #软件学院 #计算机学院 #计算机科学与工程学院 #计院 #软院 #课本 #PDF #电子版 #教材\n此处收录了王道《数据结构》网课PPTPDF版。共有3个文件请开启浏览器“允许多个文件下载”。\n文件大小104.17 MB\n下载该资源需要25东币\n点击下载\r下载安全保护中\r3秒后将开始下载...\r",
"wordCount" : "17",
"inLanguage": "en",
"datePublished": "2025-01-13T17:01:00+08:00",
"dateModified": "2025-01-13T17:01:00+08:00",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://xn--xhq44jb2fzpc.com/resources/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%8E%8B%E9%81%93%E7%BD%91%E8%AF%BEpdf/"
},
"publisher": {
"@type": "Organization",
"name": "NEU小站",
"logo": {
"@type": "ImageObject",
"url": "https://xn--xhq44jb2fzpc.com/icons/favicon.ico"
}
}
}
</script>
<link rel="stylesheet" href="/css/custom.css">
</head>
<body class="" id="top">
<script>
if (localStorage.getItem("pref-theme") === "dark") {
document.body.classList.add('dark');
} else if (localStorage.getItem("pref-theme") === "light") {
document.body.classList.remove('dark')
} else if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.body.classList.add('dark');
}
</script>
<header class="header">
<nav class="nav">
<div class="logo">
<a href="https://xn--xhq44jb2fzpc.com/" accesskey="h" title="NEU小站 (Alt + H)">NEU小站</a>
<div class="logo-switches">
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path>
</svg>
<svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
stroke-linejoin="round">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</button>
</div>
</div>
<ul id="menu">
<li>
<a href="https://xn--xhq44jb2fzpc.com/" title="主页">
<span>主页</span>
</a>
</li>
<li>
<a href="https://course.%e4%b8%9c%e5%8c%97%e5%a4%a7%e5%ad%a6.com" title="课程评分"target="_blank">
<span>课程评分</span>&nbsp;
<svg fill="none" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round"
stroke-linejoin="round" stroke-width="2.5" viewBox="0 0 24 24" height="12" width="12">
<path d="M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6"></path>
<path d="M15 3h6v6"></path>
<path d="M10 14L21 3"></path>
</svg>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/strategy/" title="攻略指南">
<span>攻略指南</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/rapidlinks/%E5%BF%AB%E9%80%9F%E9%93%BE%E6%8E%A5/" title="快速链接">
<span>快速链接</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/resources/" title="资源共享">
<span>资源共享</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/search/" title="搜索">
<span>搜索</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/feedback/" title="意见反馈">
<span>意见反馈</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/submission/" title="用户中心">
<span>用户中心</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/log/" title="更新日志">
<span>更新日志</span>
</a>
</li>
<li>
<a href="https://xn--xhq44jb2fzpc.com/intro/" title="关于">
<span>关于</span>
</a>
</li>
</ul>
</nav>
</header>
<main class="main">
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<style>
@media screen and (max-width: 768px) {
.sidebar {
display: none;
}
}
</style>
<script>
document.addEventListener("DOMContentLoaded", function() {
if (/Android|iPhone|iPad|iPod/i.test(navigator.userAgent)) {
var sidebar = document.querySelector('.sidebar');
if (sidebar) {
sidebar.style.display = 'none';
}
}
});
</script>
</head>
<body>
<article class="post-single">
<header class="post-header">
<h1 class="post-title entry-hint-parent" style="display: inline;">
王道《数据结构》网课PPTPDF版
</h1>
<div class="post-meta">
<span title='2025-01-13 17:01:00 +0800 CST'>2025年1月13日</span>
<div style="display: flex; align-items: center; margin-top: 10px">
<span style="margin-right: 10px; margin-top: 10px">发布者:</span>
<style>
.post-author-wrapper {
display: flex;
align-items: center;
margin-top: 0px;
position: relative;
}
.post-author {
font-weight: bold;
color: black;
font-size: 1.1em;
margin-left: 4px;
display: inline-block;
vertical-align: middle;
}
.dark .post-author {
color: #d3d3d3;
}
.verified-icon {
display: inline-flex;
align-items: center;
margin-left: 10px;
transform: translateY(2px);
}
.verified-svg {
width: 16px;
height: 16px;
vertical-align: middle;
}
.verified-text {
fill: white;
font-family: 'Arial', sans-serif;
font-size: 16px;
text-anchor: middle;
font-weight: normal;
}
.avatar {
width: 40px;
height: 40px;
border-radius: 50%;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
margin-right: 10px;
vertical-align: middle;
margin-top: 10px;
}
.dark .avatar {
box-shadow: 0 0 10px rgba(249, 248, 248, 0.5);
}
.tooltip {
position: absolute;
left: 55%;
transform: translateX(-45%) translateY(-10px);
margin-top: 10px;
padding: 10px;
border-radius: 8px;
background-color: #fff;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
opacity: 0;
transition: opacity 0.3s ease, transform 0.3s ease;
width: 250px;
height: auto;
z-index: 100;
top: 100%;
margin-left: 40px;
}
.tooltip.show {
opacity: 1;
transform: translateX(-45%) translateY(0);
}
.tooltip-title {
font-weight: bold;
margin-bottom: 8px;
}
.tooltip-content {
font-size: 14px;
color: #333;
}
.dark .tooltip {
background-color: #333;
color: #f2f2f2;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}
.dark .tooltip-title {
color: #fff;
}
.dark .tooltip-content {
color: #ddd;
}
.medal {
width: 20px;
height: 20px;
background-image: url('data:image/svg+xml,%3Csvg%20width%3D%22517%22%20height%3D%22517%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20xml%3Aspace%3D%22preserve%22%20overflow%3D%22hidden%22%3E%3Cdefs%3E%3ClinearGradient%20x1%3D%22776.063%22%20y1%3D%22666.491%22%20x2%3D%22534.385%22%20y2%3D%22345.773%22%20gradientUnits%3D%22userSpaceOnUse%22%20spreadMethod%3D%22pad%22%20id%3D%22fill0%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23EAEBFF%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23CECFFF%22/%3E%3C/linearGradient%3E%3ClinearGradient%20x1%3D%22661.744%22%20y1%3D%22399.079%22%20x2%3D%22767.518%22%20y2%3D%22582.285%22%20gradientUnits%3D%22userSpaceOnUse%22%20spreadMethod%3D%22pad%22%20id%3D%22fill1%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23807FFB%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23ABAAFF%22/%3E%3C/linearGradient%3E%3ClinearGradient%20x1%3D%22435.567%22%20y1%3D%22583.723%22%20x2%3D%22526.269%22%20y2%3D%22389.212%22%20gradientUnits%3D%22userSpaceOnUse%22%20spreadMethod%3D%22pad%22%20id%3D%22fill2%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23ABAAFF%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23807FFB%22/%3E%3C/linearGradient%3E%3ClinearGradient%20x1%3D%22598.059%22%20y1%3D%22501.695%22%20x2%3D%22598.059%22%20y2%3D%22190.948%22%20gradientUnits%3D%22userSpaceOnUse%22%20spreadMethod%3D%22pad%22%20id%3D%22fill3%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%236666F2%22/%3E%3Cstop%20offset%3D%220.992%22%20stop-color%3D%22%238E8EFF%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%238E8EFF%22/%3E%3C/linearGradient%3E%3ClinearGradient%20x1%3D%22598.326%22%20y1%3D%22455.063%22%20x2%3D%22598.326%22%20y2%3D%22231.069%22%20gradientUnits%3D%22userSpaceOnUse%22%20spreadMethod%3D%22pad%22%20id%3D%22fill4%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%239392FD%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23B3B3FF%22/%3E%3C/linearGradient%3E%3ClinearGradient%20x1%3D%22598.326%22%20y1%3D%22287.059%22%20x2%3D%22598.326%22%20y2%3D%22397.6%22%20gradientUnits%3D%22userSpaceOnUse%22%20spreadMethod%3D%22pad%22%20id%3D%22fill5%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23FDFDFF%22/%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23F3F3FF%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg%20transform%3D%22translate%28-339%20-129%29%22%3E%3Cpath%20d%3D%22M417.268%20129%20777.732%20129C820.836%20129%20855.874%20164.038%20855.874%20207.142L855.874%20567.606C855.874%20610.71%20820.836%20645.748%20777.732%20645.748L417.268%20645.748C374.164%20645.748%20339.126%20610.71%20339.126%20567.606L339.126%20207.142C339.126%20164.038%20374.164%20129%20417.268%20129Z%22%20fill%3D%22%23F0F1FF%22/%3E%3Cpath%20d%3D%22M855.37%20365.948%20693.539%20225.796%20387.776%20557.271%20477.262%20646%20777.479%20645.748C820.584%20645.748%20855.622%20610.71%20855.622%20567.606L855.37%20365.948Z%22%20fill%3D%22url%28%23fill0%29%22/%3E%3Cpath%20d%3D%22M658.754%20401.238%20661.526%20399.221%20729.586%20417.623C731.098%20418.127%20732.106%20418.631%20732.863%20420.143L809.745%20549.456C812.77%20555.002%20806.468%20561.304%20801.426%20557.523L743.45%20532.315C740.173%20530.551%20736.896%20533.324%20735.888%20536.601L731.602%20598.61C732.611%20605.164%20724.04%20607.937%20720.259%20602.644L637.327%20463.752C636.319%20462.491%20636.067%20460.979%20636.571%20459.467L658.754%20401.238Z%22%20fill%3D%22url%28%23fill1%29%22/%3E%3Cpath%20d%3D%22M558.429%20459.467C558.933%20460.979%20558.681%20462.491%20557.673%20463.752L474.741%20602.644C470.96%20607.937%20462.389%20605.164%20463.398%20598.61L459.112%20536.601C458.104%20533.324%20454.827%20530.551%20451.55%20532.315L393.574%20557.523C388.532%20561.304%20381.978%20555.002%20385.255%20549.456L462.137%20420.143C463.146%20418.883%20463.902%20418.127%20465.414%20417.623L533.474%20399.221%20536.246%20401.238%20558.429%20459.467Z%22%20fill%3D%22url%28%23fill2%29%22/%3E%3Cpath%20d%3D%22M753.281%20346.286C753.281%20432.043%20683.761%20501.563%20598.004%20501.563%20512.247%20501.563%20442.728%20432.043%20442.728%20346.286%20442.728%20260.529%20512.247%20191.01%20598.004%20191.01%20683.761%20191.01%20753.281%20260.529%20753.281%20346.286Z%22%20fill%3D%22url%28%23fill3%29%22/%3E%3Cpath%20d%3D%22M710.176%20343.009C710.176%20404.821%20660.068%20454.929%20598.256%20454.929%20536.444%20454.929%20486.336%20404.821%20486.336%20343.009%20486.336%20281.198%20536.444%20231.089%20598.256%20231.089%20660.068%20231.089%20710.176%20281.198%20710.176%20343.009Z%22%20fill%3D%22url%28%23fill4%29%22/%3E%3Cpath%20d%3D%22M627.497%20398.465%20600.021%20383.593C598.508%20382.837%20596.24%20382.837%20594.727%20383.593L567.251%20398.465C563.47%20400.734%20558.429%20396.953%20559.185%20392.667L564.479%20362.419C564.479%20360.906%20564.479%20358.638%20562.966%20357.125L540.784%20335.699C537.759%20332.674%20539.271%20326.877%20543.809%20326.12L574.813%20321.583C576.326%20321.583%20578.595%20320.071%20579.351%20318.558L593.467%20290.326C595.735%20285.789%20601.533%20285.789%20603.046%20290.326L617.162%20318.558C617.918%20320.071%20619.43%20321.583%20621.699%20321.583L652.704%20326.12C657.241%20326.877%20659.258%20331.918%20655.729%20335.699L633.546%20357.125C632.034%20358.638%20631.278%20360.15%20632.034%20362.419L637.327%20392.667C636.319%20396.953%20631.782%20400.734%20627.497%20398.465Z%22%20fill%3D%22url%28%23fill5%29%22/%3E%3C/g%3E%3C/svg%3E');
background-size: contain;
background-repeat: no-repeat;
}
</style>
<div class="post-author-wrapper">
<img src="https://download.xn--xhq44jb2fzpc.com/avatar/default.png" alt="" class="avatar" id="avatar" style="display: none">
<span class="post-author" id="post-author"></span>
<span class="icon invited-icon" id="invited-icon" style="display: none; margin-left: 8px; margin-top: 10px;">
<svg class="verified-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
<circle cx="12" cy="12" r="12" fill="purple"/>
<text class="verified-text" x="12" y="16" dy="0.12em" text-anchor="middle" fill="white" font-size="12px">V</text>
</svg>
</span>
<span class="icon verified-icon" id="verified-icon" style="display: none; margin-left: 8px; margin-top: 6px;">
<svg class="verified-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16">
<circle cx="12" cy="12" r="12" fill="gold"/>
<text class="verified-text" x="12" y="16" dy="0.12em" text-anchor="middle" fill="black" font-size="12px">V</text>
</svg>
</span>
<span class="medal" id="medal" title="小站奖章" style="display: none; margin-left: 8px; margin-top: 10px;"></span>
<div class="tooltip" id="tooltip">
<div class="tooltip-title" id="tooltip-title"></div>
<div class="tooltip-content" id="tooltip-content"></div>
</div>
</div>
</div>
</div>
</header>
<div class="single-container">
<aside class="sidebar">
<nav class="toc">
<h2>快速导航</h2>
<nav id="TableOfContents"></nav>
</nav>
</aside>
<main class="post-content">
<blockquote>
<p><strong>标签:</strong>#专业课 #软件学院 #计算机学院 #计算机科学与工程学院 #计院 #软院 #课本 #PDF #电子版 #教材</p>
</blockquote>
<p>此处收录了王道《数据结构》网课PPTPDF版。共有3个文件请开启浏览器“允许多个文件下载”。</p>
<p><strong>文件大小104.17 MB</strong></p>
<p><strong>下载该资源需要25东币</strong></p>
<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.20.0.min.js"></script>
<script src="https://download.xn--xhq44jb2fzpc.com/password/crypto-js.js"></script>
<a href="javascript:void(0);" id="download-1" class="download-link">点击下载</a>
<div id="popup-download-1" class="popup">
<div class="popup-title">下载安全保护中</div>
<div class="popup-content">3秒后将开始下载...</div>
</div>
<script>
function getCookie(t){const n=t+"=";const o=document.cookie.split(";");for(let e=0;e<o.length;e++){let t=o[e];while(t.charAt(0)===" ")t=t.substring(1,t.length);if(t.indexOf(n)===0){return t.substring(n.length,t.length)}}return null}async function fetchNoCache(t){const e=(new Date).getTime();const n=`${t}?_t=${e}`;return fetch(n)}function d2(t,e){t=t.replace(/\s/g,"");const n=CryptoJS.enc.Base64.parse(t);const o=CryptoJS.lib.WordArray.create(n.words.slice(0,4));const c=CryptoJS.lib.WordArray.create(n.words.slice(4));const s=CryptoJS.AES.decrypt({ciphertext:c},e,{iv:o,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7});return s.toString(CryptoJS.enc.Utf8)}let client;async function initOSSClient(){try{const t=await fetchNoCache("https://download.xn--xhq44jb2fzpc.com/upload/json/s.json");const e=await t.json();const n=e.masterKey;const o=CryptoJS.SHA256(n);const c={region:d2(e.encryptedRegion,o),accessKeyId:d2(e.encryptedKeyId,o),accessKeySecret:d2(e.encryptedKeySecret,o),bucket:d2(e.encryptedBucket,o)};client=new OSS(c)}catch(t){console.error("Failed to fetch or decrypt OSS config:",t)}}initOSSClient();document.addEventListener("DOMContentLoaded",function(){const t="download-1";const r= 25 ;const a="王道《数据结构》网课PPTPDF版";const e="upload_files\/pdf\/d0217732-3575-42aa-b066-2ed0745b3dff.pdf,upload_files\/pdf\/62e3c930-0eec-4649-9c95-93f1293e430c.pdf,upload_files\/pdf\/2f50fc97-4d7b-4285-b2df-57cf2f0b88dd.pdf";const l="";let d=[];if(e.indexOf(",")===-1){d=[e]}else{d=e.split(",").map(t=>t.trim()).filter(Boolean)}const u="popup-"+t;const n=document.getElementById(t);n.addEventListener("click",async function(){const t=getCookie("token");if(!t){alert("请登录后下载!");window.location.href="/submission";return}if(r>0){try{const e=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/coin/remain",{method:"GET",headers:{Authorization:t}});if(!e.ok){if(e.status===401||e.status===403){alert("您的登录信息已过期,请重新登录!");window.location.href="/submission";return}throw new Error("无法检查余额")}const n=await e.json();const o=n.coin;if(o<r){alert(`您的东币数量不够!当前资源需要:${r},您的东币数:${o}`);return}const c=confirm(`本次下载将扣除东币:${r},您的东币数:${o}\n是否继续?`);if(!c)return;const s=await fetch("https://userlogin.xn--xhq44jb2fzpc.com/coin/download",{method:"POST",headers:{"Content-Type":"application/json",Authorization:t},body:JSON.stringify({amount:r,title:a,user_id:l})});const i=await s.json();if(s.ok){startDownloadFlow(d,u)}else if(s.status===400&&i.message==="Insufficient coins."){alert(`您的东币数量不够!需要:${r}`)}else{alert(`下载失败:${i.message}`)}}catch(t){console.error("Error during download request:",t);alert("无法处理您的请求,请稍后重试。")}}else{startDownloadFlow(d,u)}})});function startDownloadFlow(t,e){if(!client){console.error("OSS client is not initialized.");return}const n=document.getElementById(e);const o=n.querySelector(".popup-content");let c=3;const s=t.map(t=>{const e=client.signatureUrl(t,{expires:60,response:{"content-disposition":"attachment"}});return e.replace("emberimg.oss-cn-beijing.aliyuncs.com","download.xn--xhq44jb2fzpc.com")});let i=0;const r=()=>{if(c>0){o.textContent=`${c}秒后将开始下载...`;c--;setTimeout(r,1e3)}else{n.style.display="none";const t=()=>{if(i<s.length){o.textContent=`正在下载第 ${i+1}/${s.length} 个文件...`;window.location.href=s[i];i++;if(i<s.length){setTimeout(t,1e3)}else{o.textContent="所有文件已下载完成!"}}};t()}};n.style.display="block";r()}function getCurrentTime(){const t=new Date;const e=new Date(t.getTime()+8*60*60*1e3);return e.toISOString().replace("T"," ").substring(0,19)}
</script>
<hr>
<div id="app">
<comment-plugin></comment-plugin>
</div>
<script src="https://download.xn--xhq44jb2fzpc.com/comment/vue@3.js"></script>
<script src="https://download.xn--xhq44jb2fzpc.com/comment/comment.min.js"></script>
<script>
const app = Vue.createApp({});
app.use(CommentPlugin);
app.mount('#app');
</script>
</main>
</div>
<footer class="post-footer">
<ul class="post-tags">
</ul>
</footer>
<script src="https://download.xn--xhq44jb2fzpc.com/upload/single.min.js?v=1.0.2"></script>
<script>
const userid = "1086";
if (userid) {
updateAuthorInfo(userid);
} else {
console.log("Email parameter is missing.");
}
</script>
</article>
</body>
</html>
</main>
<footer class="footer">
<span>&copy; 2025 <a href="https://xn--xhq44jb2fzpc.com/">NEU小站</a></span> ·
<a href="/intro" target="_blank">
联系网站管理员
</a>
<div>
<span style="white-space: nowrap;">
<img src="https://beian.mps.gov.cn/web/assets/logo01.6189a29f.png" alt="公安标识" style="vertical-align: middle; height: 16px; display: inline-block;">
<a href="https://beian.mps.gov.cn/" target="_blank">
赣公网安备36090202000259号</a>
&nbsp;|&nbsp;
<a href="https://beian.miit.gov.cn/" target="_blank">赣ICP备2024039267号-1</a>
</span>
</div>
</footer>
<a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor">
<path d="M12 6H0l6-6z" />
</svg>
</a>
<style>
</style>
<script>
let menu = document.getElementById('menu')
if (menu) {
menu.scrollLeft = localStorage.getItem("menu-scroll-position");
menu.onscroll = function () {
localStorage.setItem("menu-scroll-position", menu.scrollLeft);
}
}
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener("click", function (e) {
e.preventDefault();
var id = this.getAttribute("href").substr(1);
if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({
behavior: "smooth"
});
} else {
document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView();
}
if (id === "top") {
history.replaceState(null, null, " ");
} else {
history.pushState(null, null, `#${id}`);
}
});
});
document.addEventListener('DOMContentLoaded', function() {
var emberContainer = document.getElementById('ember-container');
emberContainer.addEventListener('mouseenter', function() {
var qrCode = document.getElementById('qr-code');
qrCode.classList.remove('hidden');
});
emberContainer.addEventListener('mouseleave', function() {
var qrCode = document.getElementById('qr-code');
qrCode.classList.add('hidden');
});
});
</script>
<script>
var mybutton = document.getElementById("top-link");
window.onscroll = function () {
if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) {
mybutton.style.visibility = "visible";
mybutton.style.opacity = "1";
} else {
mybutton.style.visibility = "hidden";
mybutton.style.opacity = "0";
}
};
</script>
<script>
document.getElementById("theme-toggle").addEventListener("click", () => {
if (document.body.className.includes("dark")) {
document.body.classList.remove('dark');
localStorage.setItem("pref-theme", 'light');
} else {
document.body.classList.add('dark');
localStorage.setItem("pref-theme", 'dark');
}
})
</script>
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [['$','$']],
displayMath: [['$$','$$']],
processEscapes: true,
processEnvironments: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
TeX: { equationNumbers: { autoNumber: "AMS" },
extensions: ["AMSmath.js", "AMSsymbols.js"] }
}
});
MathJax.Hub.Queue(function() {
var all = MathJax.Hub.getAllJax(), i;
for(i = 0; i < all.length; i += 1) {
all[i].SourceElement().parentNode.className += ' has-jax';
}
});
</script>
<style>
code.has-jax {
font: inherit;
font-size: 100%;
background: inherit;
border: inherit;
color: #515151;
}
</style>
</body>
</html>