文章目录 ⭐前言 ⭐koa-send库实现下载 ⭐mime-types库实现图片预览 💖渲染图片 💖渲染404 💖预览pdf 💖预览视频 ⭐总结 ⭐结束 ⭐前言 大家好,我是yma16,本文分享关于node实战——koa实现文件下载和图片预览。本文适用对象:前端初学者转node方向,在校大学生,即将毕业的同学,计算机爱好者。http下载HTTP下载是通过HTTP协议从Internet上下载(或上传)文件的过程。它是一种通过网页浏览器下载文件的常见方式。 通常,HTTP下载发生在以下情形下: 用户在网页浏览器中单击下载链接时,浏览器自动使用HTTP协议向服务器请求...

文章目录 ⭐前言 ⭐koa封装发送邮件api 💖引用qq的免费smtp服务 💖nodemailer库发送邮件 ⭐koa连接redis 💖下载redis 💖ioredis库连接redis ⭐koa封装的api ⭐postman+redismanager验证 ⭐总结 ⭐结束 ⭐前言 大家好,我是yma16,本文分享关于node实战——koa给邮件发送验证码缓存到redis。本文适用对象:前端初学者转node方向,在线大学生,应届毕业生,计算机爱好者。邮件smtpSMTP(SimpleMailTransferProtocol,简单邮件传输协议)是一种用于发送电子...

冒泡排序 1.第1个和第2个关键字比较,若第1个大那么这两个数交换。2.第2个和第3个关键字比较,若第3个大那么这两个数交换。3.第3个和第4个关键字比较,若第4个大那么这两个数交换。……n个数据的数组,最多走n-1趟 举个栗子:我进行一个6个数据数组的冒泡排序 voidBubblesort(intR[],intn) { inti,j,temp,flag; for(i=n-1;i>=1;--i) { flag=0;//flag来标记本趟排序是否发生交换 for(j=1;j<=i;j) { if(R[j-1]>R[j]) { temp=...

举个栗子:将5,1,9,10,20,55,0,66进行小大排序用一个数组存储这些数据,两个for循环进行比较1.第一趟:5和66比较,66大放位置不变第二趟:5和0比较,5大交换位置变成了0,1,9,10,20,55,5,66第三趟:0和55比较,位置不变……变成0,1,9,10,20,55,5,662…第一趟:1和66比较,位置不变……很简单看下面的代码一目了然 packagecom.moshang; publicclassBumble{ inta[]; publicBumble(inta[]){ this.a=a; inttemp; for(inti=a.length-...

树是一种非线性结构 树的结点:包含数据元素和指向子树的分支 ——A,B,C都是结点包含指向子树的指针 结点的度:结点拥有子树的个数或者分支的个数 ——A、B的度是2,C的度是1,D,E,F的度为0 树的度:树中结点度的最大值 ——这棵树的度为2 叶子结点(终端结点):度为0的结点 ——D,E,F都是叶子结点 分支结点(非终端结点):度不为0的点 ——A,B,C都是分支结点 孩子:结点的子树的根 ——A的孩子是B,C 双亲:与孩子定义对应——D,E双亲是B 兄弟:同意双亲孩子之间互为兄弟 祖先:根到某结点路径上的所有结点——D的祖先是A,B 子孙:以某结点为根子树中的所有结点——B的子...

十进制的数字转化位二进制除二取余不断放入数组二进制化十进制按照位权相加 include<iostream> include<math.h> usingnamespacestd; definemaxsize100 intmain(){ intn,arry[maxsize],arry2[maxsize],k,sum=0,t=0; cout<<"输入一个数字转化成二进制:\n"; cin>>n; inttemp=n; for(inti=0;temp!=0;i){ arry[i]=temp%2; temp=temp/2; k=i...

  6DMaaPzJglxt   2023年12月05日   20   0   0 ci#include十进制ci#include十进制

线性表:具有相同特性数据元素的一个有限序列 存储结构:顺序存储(顺序表)和链式存储(链表)顺序表可以随机访问,存储分配预先进行,一旦分配好在操作过程中始终不变链表不支持随机访问,支持动态空间的存储分配顺序表做插入的时候要移动多个元素,链表中插入元素无需移动元素下面时他们的初始化操作 definemaxsize100 typedefstruct { intdata[maxsize]; intlength; }sqlist; //单链表的定义 typedefstructnode { intdata;//数据域 structnodenext;//存放后继结点的指针 }node; //...

链栈的初始化 链栈采用链表来存储栈 //链栈的定义 typedefstructLNode { intdata; structLNodenext; }LNode; 初始化链栈,要制造一个头节点 //初始化一个链栈 voidinitstack(LNode&Lst) { Lst=(LNode)malloc(sizeof(LNode));//制造头节点 Lst->next=NULL; } 判断栈空 //判断链栈是否为空 intisEmpty(LNodeLst) { if(Lst->nextNULL) return1; else return0; } ...

链队:采用链表来存储队列 链队类型的使用 include<stdio.h> include<stdlib.h> definemaxsize100 typedefstructQNode { intdata; structQNodenext; }QNode; typedefstruct { QNodefront; QNoderear; }Liqueue; 初始化链队 voidinitQueue(Liqueue&lqu) { lqu=(Liqueue)malloc(sizeof(Liqueue)); lqu->front=lqu->re...

简单的选择排序 一堆无序数中,从头到尾扫描序列,找出最小的关键字加入有序队列从剩下的无序数队列里继续早出最小的关键字加入有序队列…… 我举个栗子 选择排序一个6个数的数组 voidselectsort(intR[],intn) { inttemp,k; for(inti=0;i<n;i) { k=i; for(intj=i+1;j<n;j) { if(R[k]>R[j]) { k=j; } } temp=R[i]; R[i]=R[k]; R[k]=temp; } } 主函数 intmain() { int...

文章目录 前言 题目 代码实现 结束 前言 大家好,我是yma16,本文分享csp——C相邻数对c语法C是一种面向对象编程语言,其语法基本遵循C语言的语法规则。以下是C的基本语法: 注释: C支持单行注释和多行注释。 单行注释:以"//“开头,注释内容在”//"和行尾之间。 多行注释:以"/“开头,以”/"结尾,注释内容在两个符号之间。 标识符: 标识符指的是变量、函数、类、对象等命名时使用的名称,必须以字母、下划线或美元符开头,可以包含字母、下划线、数字或美元符,区分大小写。 关键字: C有一些关键字,不能作为标识符,例如if、else、while、for等。 变...

c语言程序如下: include<stdio.h> intmain() { inti,n;//商店数量 scanf("%d",&n);//第一行输入n个商店 inta[1000],b[1000]; for(i=0;i<n;i) { scanf("%d",&a[i]);//输入第一天每个商店的菜价 } for(i=0;i<n;i) { if(i0) { b[i]=(a[i]+a[i+1])/2; } elseif(in-1) { b[i]=(a[n-1]+a[n-2])/2; } els...

include<ctype.h> include<stdio.h> include<iostream> usingnamespacestd; intmain(){ intn,temp,a[100000],flag; scanf("%d",&n); for(inti=0;i<n;i){ scanf("%d",&a[i]); } for(inti=1;i<n;i){ flag=0; for(intj=1;j<n;j){ if(a[j]>a[j-1]){ temp=a[j-1]; ...

  6DMaaPzJglxt   2023年12月05日   29   0   0 iosios#include#include

我们需要注意的一点就是判断n奇数还是偶数很简单我们直接用结论其实推导也非常简单,我简单用分部积分推算一遍 将其看成一个数列,逐项相乘就可得到sinx的n阶积分 所以程序的事情就非常简单了,我简单演示C代码 include<iostream> include<string> definePI3.14 usingnamespacestd; doubleresult(intn){ doubletemp,outcome=1; temp=n; if(n1){ outcome=1; } elseif(n%20){ while(n>=2){ t...

  6DMaaPzJglxt   2023年12月05日   90   0   0 iosiosci#includeci#include

遇到陌生网友问不知道怎么不区分大小写统计词频问题 题目是这样的: 将字母先全部转为小写,把特殊字符全部用空格代替,以空格分割,加入字典即可 fin=str(input("输入一个英文句子:")) forchinfin: if65<=ord(ch)andord(ch)<=90: fin=fin.replace(ch,chr(ord(ch)+32))大写通过ascall转小写 forchin'"";!+-(),.[]{}<<>>:': fin=fin.replace(ch,"")将特殊符号转为空格 words=fin.split()split以空格为...

文章目录 前言 题目 思路一 思路二 优化思路 结束 前言 大家好,我是yma16,本文分享用c语言统计ascii的字符出现次数。c语法C是一种流行的编程语言,其语法如下: 变量:使用关键字定义变量,例如:int、float、double、char等。变量必须在使用之前声明,并且可以被初始化。变量可以是局部的或全局的。 语句:使用分号作为语句的结束符号,例如:赋值语句、循环语句、条件语句等。C支持多种语句和控制结构,包括if、else、switch、for、while、do-while等。 函数:使用关键字定义函数,例如:int、float、double、void等...

知识无价 初入力扣对链表的操作不熟悉,只是了解借鉴了别人优秀的代码 我把一些地方编译有错的地方改了,下面是题目 通过的代码 / Definitionforsingly-linkedlist. structListNode{ intval; ListNodenext; ListNode(intx):val(x),next(NULL){} }; / classSolution{ public: ListNodeaddTwoNumbers(ListNodel1,ListNodel2){ ListNodecur1=l1; ListNodecur2=l2; intcount=0;//每位之和 i...

  6DMaaPzJglxt   2023年12月05日   28   0   0 链表链表

指针用于“存放内存单元地址” 声明:数据类型标识符;//形如intp;//存放int数据类型的地址数据在定义的时候程序就已经为其分配内存空间其中关于和&作为一元操作符时 intp;//声明指针 inta; intptr=&a;//&取地址,&作为参数传入函数的时候是引用 指针的赋值 inta; intp=&a;//指向a地址的指针 等价于 inta,p; p=&a; ok,我们来看一下数组数组名实际上是一个不能被赋值的指针(指针常量)接下来我们可以通过指针来取出数组中的数据 include<iostream> usin...

软件生存期模型 1.瀑布模型 优点:开发人员使用规范化方法,每个阶段必须提交文档缺点:只适用于项目开始需求已确定的情况,完全依赖书面要求导致最终软件产品不能真正满足用户要求 2.快速原型模型 开发人员加速软件开发过程,节约开发成本,用于获取用户真正需求,一旦需求确定,原型可抛弃 3.增量模型 优点:系统服务接受最多的测试,系统最重要的部分不会遭受失败注意事项:添加新的增量构件,必须不破环原来已经开发出来的产品,软件系统结构必须开放 4.螺旋模型 优点:有利于已有软件的重用,减少过多测试带来的风险,维护与开发之间无本质区别缺点:开发人员必须具有丰富的风险评估经验和专门知识 5...

图的邻接表存储结构 include<iostream> include<stdlib.h> definemaxsize100 usingnamespacestd; intvisit[maxsize]={0};//初始化全为0 //邻接矩阵,顺序存储 typedefstruct{ intno;//顶点编号 charinfo;//顶点其他信息 }VertexType; //图的邻接矩阵 typedefstruct{ intedges[maxsize][maxsize]; intn,e; VertexTypevex[maxsize]; }MGraph;//嵌套结...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~