当前位置: 首页 > news >正文

2023全国大学生软件测试大赛开发者测试练习题满分答案(PairingHeap2023)

2023全国大学生软件测试大赛开发者测试练习题满分答案(PairingHeap2023)

  • 题目详情
  • 题解代码(直接全部复制到test类中即可)


提示:该题只需要分支覆盖得分即可,不需要变异得分

题目详情

在这里插入图片描述
在这里插入图片描述




题解代码(直接全部复制到test类中即可)

package net.mooctest;import static org.junit.Assert.*;import java.lang.reflect.Method;import java.lang.reflect.InvocationTargetException;import org.junit.Before;import org.junit.Test;public class Heap_ItemTest {@Testpublic void test() {Heap_Item<String> heap_Item0 = new Heap_Item<String>(",");Heap_Item<String> heap_Item1 = new Heap_Item<String>(",");heap_Item1.setLeftSon(heap_Item0);heap_Item0.setLeftSon(heap_Item1);heap_Item0.setRightSon(heap_Item1);heap_Item1.replaceChild("$", heap_Item0);heap_Item0.getSonByData(",");heap_Item0.getSonByData("");assertTrue(heap_Item0.hasLeftSon());}@Testpublic void test1() {Heap_Item<String> heap_Item0 = new Heap_Item<String>(",");Heap_Item<String> heap_Item1 = new Heap_Item<String>(",");heap_Item1.setLeftSon(heap_Item0);heap_Item0.setLeftSon(heap_Item1);heap_Item0.setRightSon(heap_Item1);heap_Item1.replaceChild(",", heap_Item0);heap_Item0.getSonByData(",");heap_Item0.getSonByData("");assertTrue(heap_Item0.hasLeftSon());}@Testpublic void test2() {Heap_Item<String> heap_Itema=new Heap_Item<String>("a");Heap_Item<String> heap_Itemb=new Heap_Item<String>("b");Heap_Item<String> heap_Itemc=new Heap_Item<String>("c");Heap_Item<String> heap_Itemd=new Heap_Item<String>("d");Heap_Item<String> heap_Iteme=new Heap_Item<String>("e");Heap_Item<String> heap_Itemk=new Heap_Item<String>("k");Heap_Item<String> heap_Itemp=new Heap_Item<String>("p");Heap_Item<String> heap_Itemq=new Heap_Item<String>("q");heap_Itema.setLeftSon(heap_Itemb);heap_Itema.setRightSon(heap_Itemc);heap_Itemb.setRightSon(heap_Itemd);heap_Itemb.setLeftSon(heap_Iteme);heap_Itemb.replaceChild("e", heap_Itemk);heap_Itemb.replaceChild("d", heap_Itemk);heap_Itemb.itIsLeftSon(heap_Itemk);heap_Iteme.setLeftSon(heap_Itemp);heap_Itemq.setLeftSon(heap_Itemq);heap_Iteme.removeLeftSon();heap_Iteme.removeRightSon();heap_Itemb.removeChild("k");heap_Itemb.removeChild("k");heap_Itemb.removeChild("a");Heap_Item <String> heap_Itema1= heap_Itema.getLeftSon();assertSame(heap_Itema1,heap_Itemb);heap_Itemb.setAncestor(heap_Itema);Heap_Item <String> heap_Itemn= heap_Itemb.getAncestor();assertSame(heap_Itema,heap_Itemb.getAncestor());assertEquals(heap_Itema,heap_Itemn);//设置节点c的祖先为aheap_Itemc.setAncestor(heap_Itema);//节点a无祖先,于是返回nullHeap_Item <String> heap_Itemanull=heap_Itema.getMultiWayAncestor();assertNull(heap_Itemanull);//节点b有祖先a,同时又是它的左孩子,于是返回他的祖先aHeap_Item <String> heap_Itembnull=heap_Itemb.getMultiWayAncestor();assertNotNull(heap_Itembnull);assertSame(heap_Itema,heap_Itembnull);}@Testpublic void testMul() {Heap_Item<String> heap_Itema=new Heap_Item<String>("a");Heap_Item<String> heap_Itemb=new Heap_Item<String>("b");Heap_Item<String> heap_Itemc=new Heap_Item<String>("c");Heap_Item<String> heap_Itemd=new Heap_Item<String>("d");Heap_Item<String> heap_Iteme=new Heap_Item<String>("e");Heap_Item<String> heap_Itemk=new Heap_Item<String>("k");Heap_Item<String> heap_Itemp=new Heap_Item<String>("p");Heap_Item<String> heap_Itemq=new Heap_Item<String>("q");heap_Itema.setLeftSon(heap_Itemb);heap_Itema.setRightSon(heap_Itemc);heap_Itemb.setRightSon(heap_Itemd);heap_Itemb.setLeftSon(heap_Iteme);heap_Itemb.replaceChild("e", heap_Itemk);heap_Itemb.replaceChild("d", heap_Itemk);heap_Itemb.itIsLeftSon(heap_Itemk);heap_Iteme.setLeftSon(heap_Itemp);heap_Itemq.setLeftSon(heap_Itemq);heap_Iteme.removeLeftSon();heap_Iteme.removeRightSon();heap_Itemb.removeChild("k");heap_Itemb.removeChild("k");heap_Itemb.removeChild("a");Heap_Item <String> heap_Itema1= heap_Itema.getLeftSon();assertSame(heap_Itema1,heap_Itemb);heap_Itemb.setAncestor(heap_Itema);Heap_Item <String> heap_Itemn= heap_Itemb.getAncestor();assertSame(heap_Itema,heap_Itemb.getAncestor());assertEquals(heap_Itema,heap_Itemn);//设置节点c的祖先为aheap_Itemc.setAncestor(heap_Itema);//节点a无祖先,于是返回nullHeap_Item <String> heap_Itemanull=heap_Itema.getMultiWayAncestor();assertNull(heap_Itemanull);//节点b有祖先a,同时又是它的左孩子,于是返回他的祖先aHeap_Item <String> heap_Itembnull=heap_Itemb.getMultiWayAncestor();assertNotNull(heap_Itembnull);assertSame(heap_Itema,heap_Itembnull);//先给a设置右祖先Heap_Item <String> heap_Items1 = new Heap_Item<String>("s1");heap_Itema.setAncestor(heap_Items1);heap_Items1.setLeftSon(heap_Itema);//检查a的祖先是否为s1assertSame(heap_Items1,heap_Itema.getAncestor());//检查c的祖先是否为aassertSame(heap_Itema,heap_Itemc.getAncestor());//给s1复制左孩子为s2Heap_Item <String> heap_Items2 = new Heap_Item<String>("s2");heap_Items2.setAncestor(heap_Items1);heap_Items1.setRightSon(heap_Items2);//节点c有祖先a,但是a的右孩子,于是返回a的最近的以a作为左子孙的祖先,即s1Heap_Item <String> heap_Itemcnull=heap_Itemc.getMultiWayAncestor();assertSame(heap_Itemcnull,heap_Items1);}@Testpublic void testpair() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException{Class<Pairing_Heap> c = Pairing_Heap.class;Heap_Item<String>  a1=new Heap_Item<>("a1");Heap_Item<String> a2=new Heap_Item<>("a2");Heap_Item<String> b1=new Heap_Item<>("b1");a1.setLeftSon(b1);b1.setAncestor(a1);Pairing_Heap<String> p1=new Pairing_Heap<>(a1);Pairing_Heap<String> p2=new Pairing_Heap<>(a2);Method pair = c.getDeclaredMethod("pair", Pairing_Heap.class, Pairing_Heap.class);pair.setAccessible(true);//情况3Pairing_Heap<String> k=new Pairing_Heap<>();Object invoke = pair.invoke(k, p1, p2);//情况1Pairing_Heap<String> null1=new Pairing_Heap<>();Object invoke1= pair.invoke(k, null1,p2);//情况2pair.invoke(k, p1,null1);//情况4Heap_Item<String>  d1=new Heap_Item<>("d1");Heap_Item<String> d2=new Heap_Item<>("d2");Pairing_Heap<String> pd1=new Pairing_Heap<>(d1);Pairing_Heap<String> pd2=new Pairing_Heap<>(d2);pair.invoke(k, pd1,pd2);//情况5Heap_Item<String>  e1=new Heap_Item<>("e1");Heap_Item<String> e2=new Heap_Item<>("e2");Heap_Item<String> be1=new Heap_Item<>("be1");e1.setLeftSon(be1);be1.setAncestor(e1);Pairing_Heap<String> pe1=new Pairing_Heap<>(e2);Pairing_Heap<String> pe2=new Pairing_Heap<>(e1);pair.invoke(k, pe1,pe2);//情况6Heap_Item<String>  f1=new Heap_Item<>("e1");Heap_Item<String> f2=new Heap_Item<>("e2");Pairing_Heap<String> pf1=new Pairing_Heap<>(f2);Pairing_Heap<String> pf2=new Pairing_Heap<>(f1);pair.invoke(k, pf1,pf2);}@Testpublic void testpop_heap_item() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {Class<Pairing_Heap> fun = Pairing_Heap.class;//情况1Pairing_Heap<String> null1=new Pairing_Heap<>();Method pair =fun.getDeclaredMethod("pop_heap_item");pair.setAccessible(true);pair.invoke(null1);//情况2Heap_Item<String> b=new Heap_Item<>("b");Pairing_Heap<String> pb=new Pairing_Heap<>(b);pair.invoke(pb);//情况3Heap_Item<String> c=new Heap_Item<>("c");Heap_Item<String> cb=new Heap_Item<>("cb");c.setLeftSon(cb);cb.setAncestor(c);Pairing_Heap<String> pc=new Pairing_Heap<>(c);pair.invoke(pc);//情况四Heap_Item<String> d=new Heap_Item<>("d");Heap_Item<String> db=new Heap_Item<>("db");Heap_Item<String> dbc=new Heap_Item<>("dbc");Heap_Item<String> dbc0=new Heap_Item<>("dbc0");d.setLeftSon(db);db.setAncestor(d);db.setRightSon(dbc);db.setLeftSon(dbc0);dbc0.setAncestor(db);dbc.setAncestor(dbc);Pairing_Heap<String> pd=new Pairing_Heap<>(d);pair.invoke(pd);}@Testpublic void testpush() {//根为空的情况Pairing_Heap<String> null1=new Pairing_Heap<>();Heap_Item<String> d=new Heap_Item<>("d");null1.push(d);//根不为空的情况Heap_Item<String> c=new Heap_Item<>("c");Pairing_Heap<String> pc=new Pairing_Heap<>(c);Heap_Item k=pc.push(d);}@Testpublic void testcheckPriority1_2() {//情况1,2Heap_Item<String> a=new Heap_Item<>("a");Heap_Item<String> b=new Heap_Item<>("b");Heap_Item<String> c=new Heap_Item<>("c");Heap_Item<String> k=new Heap_Item<>("k");Pairing_Heap<String> p=new Pairing_Heap<>();c.setLeftSon(a);a.setAncestor(c);a.setRightSon(b);b.setAncestor(a);b.setRightSon(k);k.setAncestor(b);p.checkPriority(b);}@Testpublic void testcheckPriority3() {//情况3Heap_Item<String> k=new Heap_Item<>("k");Heap_Item<String> b1=new Heap_Item<>("b1");Heap_Item<String> b2=new Heap_Item<>("b2");Pairing_Heap<String> p=new Pairing_Heap<>();k.setLeftSon(b1);k.setRightSon(b2);b1.setAncestor(k);b2.setAncestor(k);p.checkPriority(k);}@Testpublic void testcheckPriority4() {//情况4Heap_Item<String> a=new Heap_Item<>("a");Heap_Item<String> k=new Heap_Item<>("k");Heap_Item<String> b1=new Heap_Item<>("b1");Heap_Item<String> b2=new Heap_Item<>("b2");Pairing_Heap<String> p=new Pairing_Heap<>();a.setLeftSon(k);k.setAncestor(a);k.setLeftSon(b1);k.setRightSon(b2);b1.setAncestor(k);b2.setAncestor(k);p.checkPriority(k);}@Testpublic void testcheckPriority5() {//情况5Heap_Item<String> k=new Heap_Item<>("k");Heap_Item<String> z=new Heap_Item<>("z");k.setLeftSon(z);z.setAncestor(k);Pairing_Heap<String> p=new Pairing_Heap<>();p.checkPriority(k);}@Testpublic void testcheckPriority6() {//情况6Heap_Item<String> k=new Heap_Item<>("k");Heap_Item<String> z=new Heap_Item<>("z");z.setLeftSon(k);k.setAncestor(z);Pairing_Heap<String> p=new Pairing_Heap<>();p.checkPriority(k);}@Testpublic void testcheckPriority7() {//情况7Heap_Item<String> k=new Heap_Item<>("k");Heap_Item<String> z=new Heap_Item<>("z");k.setLeftSon(z);z.setAncestor(k);Pairing_Heap<String> p=new Pairing_Heap<>();p.checkPriority(z);}@Testpublic void testcheckPriority8() {//情况8Heap_Item<String> a=new Heap_Item<>("a");Heap_Item<String> z=new Heap_Item<>("z");Heap_Item<String> b=new Heap_Item<>("b");a.setLeftSon(z);z.setAncestor(a);z.setLeftSon(b);b.setAncestor(z);Pairing_Heap<String> p=new Pairing_Heap<>();p.checkPriority(z);}@Testpublic void testcheckPriority9() {//情况9Heap_Item<String> a=new Heap_Item<>("a");Heap_Item<String> b=new Heap_Item<>("b");Heap_Item<String> c=new Heap_Item<>("c");Heap_Item<String> d=new Heap_Item<>("d");a.setLeftSon(b);b.setAncestor(a);b.setLeftSon(c);c.setAncestor(b);c.setRightSon(d);d.setAncestor(c);Pairing_Heap<String> p=new Pairing_Heap<>();p.checkPriority(b);}@Testpublic void testgetData() {Heap_Item<String> null2=new Heap_Item<>();null2.getData();}@Testpublic void testgetSonByData() {Heap_Item<String> k=new Heap_Item<>("k");Heap_Item<String> z=new Heap_Item<>("z");Heap_Item<String> z2=new Heap_Item<>("z2");Heap_Item<String> z1=new Heap_Item<>("z1");k.setLeftSon(z);k.setRightSon(z2);z2.setAncestor(k);z.setAncestor(k);k.removeChild("z1");}@Testpublic void testgetSonByData1() {Heap_Item<String> k=new Heap_Item<>("k");k.getSonByData(null);Heap_Item<String> z2=new Heap_Item<>("z2");k.setRightSon(z2);z2.setAncestor(k);k.getSonByData("z2");}@Testpublic void testreplaceChild1() {Heap_Item<String> k=new Heap_Item<>("k");Heap_Item<String> z2=new Heap_Item<>("z2");k.setRightSon(z2);z2.setAncestor(k);k.replaceChild("z1", z2);}@Testpublic void testgetMultiWayAncestor2() {Heap_Item<String> k=new Heap_Item<>("k");Heap_Item<String> c=new Heap_Item<>("c");Heap_Item<String> a=new Heap_Item<>("a");Heap_Item<String> b=new Heap_Item<>("b");c.setLeftSon(k);k.setAncestor(c);k.setRightSon(a);a.setAncestor(k);a.setRightSon(b);b.setAncestor(a);b.getMultiWayAncestor();}@Testpublic void testpop() {Heap_Item<String> k=new Heap_Item<>("k");Heap_Item<String> z=new Heap_Item<>("z");k.setLeftSon(z);z.setAncestor(k);Pairing_Heap<String> p=new Pairing_Heap<>();Pairing_Heap<String> p1=new Pairing_Heap<>(k);p.pop();p1.pop();}
}

相关文章:

2023全国大学生软件测试大赛开发者测试练习题满分答案(PairingHeap2023)

2023全国大学生软件测试大赛开发者测试练习题满分答案&#xff08;PairingHeap2023&#xff09; 题目详情题解代码&#xff08;直接全部复制到test类中即可&#xff09; 提示&#xff1a;该题只需要分支覆盖得分即可&#xff0c;不需要变异得分 题目详情 题解代码&#xff08;…...

介绍一下tokens

“Tokens” 是一个计算机科学和自然语言处理领域常用的术语&#xff0c;通常用于表示文本中的最小单位。在这个上下文中&#xff0c;我将解释一下 “tokens” 的含义以及它们在不同领域中的用途&#xff1a; 自然语言处理 (NLP): 在自然语言处理中&#xff0c;“token” 是指文…...

机器学习、深度学习相关的项目集合【自行选择即可】

【基于YOLOv5的瓷砖瑕疵检测系统】 YOLOv5是一种目标检测算法&#xff0c;它是YOLO&#xff08;You Only Look Once&#xff09;系列模型的进化版本。YOLOv5是由Ultralytics开发的&#xff0c;基于一阶段目标检测的概念。其目标是在保持高准确率的同时提高目标检测的速度和效率…...

百面机器学习书刊纠错

百面机器学习书刊纠错 P243 LSTM内部结构图 2023-10-7 输入门的输出 和 candidate的输出 进行按元素乘积之后 要和 遗忘门*上一层的cell state之积进行相加。...

vue2安装cesium并使用

一、安装 1.安装cesium npm install cesium1.95.0 -S 2.安装所需 npm install copy-webpack-plugin10.2.4 -D 二、配置 1.配置vue.config.js vue 中引入cesium 需要用copy-webpack-plugin 把一些文件拷贝到打包目录 // vue.config.js const CopyWebpackPlugin require…...

基于Docker来部署Nacos的注册中心

基于Docker来部署Nacos的注册中心 准备MySQL数据库表nacos.sql&#xff0c;用来存储Nacos的数据。 最终表结构如下&#xff1a; 在本地nacos/custom.env文件中&#xff0c;有一个MYSQL_SERVICE_HOST也就是mysql地址&#xff0c;需要修改为你自己的虚拟机IP地址&#xff1a; …...

黑马JVM总结(三十一)

&#xff08;1&#xff09;类加载器-概述 启动类加载器-扩展类类加载器-应用程序类加载器 双亲委派模式&#xff1a; 类加载器&#xff0c;加载类的顺序是先依次请问父级有没有加载&#xff0c;没有加载自己才加载&#xff0c;扩展类加载器在getParent的时候为null 以为Boots…...

【C++】list基本接口+手撕 list(详解迭代器)

父母就像迭代器&#xff0c;封装了他们的脆弱...... 手撕list目录&#xff1a; 一、list的常用接口及其使用 1.1list 构造函数与增删查改 1.2list 特殊接口 1.3list 排序性能分析 二、list 迭代器实现&#xff08;重点难点&#xff09; 关于迭代器的引入知识&#xff1a…...

PowerShell pnpm : 无法加载文件 C:\Users\lenovo\AppData\Roaming\npm\pnpm.ps1

1、右键点击【开始】&#xff0c;打开Windows PowerShell&#xff08;管理员&#xff09; 2、运行命令set-ExecutionPolicy RemoteSigned 3、根据提示&#xff0c;输入A,回车 此时管理员权限已经可以运行pnpm 如果vsCode还报该错误 继续输入 4、右键点击【开始】&#xff0c;打…...

mysql面试题33:Blob和text有什么区别

该文章专注于面试&#xff0c;面试只要回答关键点即可&#xff0c;不需要对框架有非常深入的回答&#xff0c;如果你想应付面试&#xff0c;是足够了&#xff0c;抓住关键点 面试官&#xff1a;Blob和text有什么区别 Blob和text是数据库中存储大文本数据的两种数据类型&#…...

docker版jxTMS使用指南:4.6版升级内容

4.6版jxTMS已经发布&#xff0c;升级了多个重大能力&#xff0c;本系列文章将逐一进行讲解。 docker版本的使用&#xff0c;请查看&#xff1a;docker版jxTMS使用指南 4.0版jxTMS的说明&#xff0c;请查看&#xff1a;4.0版升级内容 4.2版jxTMS的说明&#xff0c;请查看&…...

java最优建树算法

建树算法 树的数据结构 {"code": "1111","name": "","parentcode": "0000","children": null }, {"code": "2222","name": "","parentcode": &q…...

mysql面试题30:什么是数据库连接池、应用程序和数据库建立连接的过程、为什么需要数据库连接池、你知道哪些数据库连接池

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:什么是数据库连接池? 数据库连接池是一种用于管理和复用数据库连接的技术。它是在应用程序和数据库之间建立一组数据库连接,并以池的形式存储起…...

【Vue】vscode格式刷插件Prettier以及配置项~~保姆级教程

文章目录 前言一、下载插件二、在项目内创建配置文件1.在根目录创建&#xff0c;src同级2.写入配置3.每个字段含义 总结 前言 vscode格式刷&#xff0c;有太多插件了&#xff0c;但是每个的使用&#xff0c;换行都不一样。 这里我推荐一个很多人都推荐了的Prettier 一、下载插…...

.NET 8 中的调试增强功能

作者&#xff1a;James Newton-King 排版&#xff1a;Alan Wang 开发人员喜欢 .NET 强大且用户友好的调试体验。您可以在您选择的 IDE 中设置断点&#xff0c;启动已经附加上调试器的程序&#xff0c;逐步执行代码并查看 .NET 应用程序的状态。 在 .NET 8 中&#xff0c;我们致…...

1310. 数三角形

知识点&#xff1a;(a, b)与(c, d)两点连线上点的个数为:gcd(x, y) 1(包括端点) &#xff08;设横坐标差的绝对值为x&#xff0c; 纵坐标差的绝对值为y &#xff09; 思路&#xff1a;先算出选三个点的所有情况&#xff0c;再减去三点共线的情况 共线的斜率为0时特判 当共线…...

数据库基础(一)

数据库面试基础 注&#xff0c;本文章内容主要来自于JAVAGUIDE&#xff0c;只是结合网上资料和自己的知识缺陷进行一点补充&#xff0c;需要准备面试的请访问官方网址。 一、范式 参考链接 函数依赖&#xff1a;一张表中&#xff0c;确定X则必定能确定Y&#xff0c;则X->…...

Factory-Method

Factory-Method 动机 在软件系统中&#xff0c;经常面临着创建对象的工作&#xff1b;由于需求的变化&#xff0c;需要创建的对象的具体类型经常变化。如何应对这种变化&#xff1f;如何绕过常规的对象创建方法(new)&#xff0c;提供一种“封装机制”来避免客户程序和这种“具…...

【C++】神奇字符串(力扣481)

神奇字符串的规律&#xff1a; 神奇字符串 s 仅由 ‘1’ 和 ‘2’ 组成&#xff0c;并需要遵守下面的规则&#xff1a; 神奇字符串 s 的神奇之处在于&#xff0c;串联字符串中 1 和 2 的连续出现次数可以生成该字符串。 s 的前几个元素是 s “1221121221221121122……” 。如果…...

elasticsearch索引的数据类型以及别名的使用

在上篇文章写了关于elasticsearch索引的数据类型&#xff0c;这里就详细说下索引的增删改查以及其他的一些操作吧。 1、索引的增、删、改、查 先新建一个索引结构&#xff0c;代码如下 PUT test-3-2-1 {"mappings": {"properties": {"id": {&…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久&#xff0c;PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5&#xff01;作为 PHP 语言的又一次重要迭代&#xff0c;PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是&#xff0c;借助强大的本地开发环境 ServBay&am…...

小木的算法日记-多叉树的递归/层序遍历

&#x1f332; 从二叉树到森林&#xff1a;一文彻底搞懂多叉树遍历的艺术 &#x1f680; 引言 你好&#xff0c;未来的算法大神&#xff01; 在数据结构的世界里&#xff0c;“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的&#xff0c;它…...

ubuntu22.04 安装docker 和docker-compose

首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...