自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (9)
  • 收藏
  • 关注

原创 去中心化的IPFS

HTTP:HTTP教程IPFS:IPFS官网IPFS 的主要特点是从根本上改变我们寻找事物的方式:使用 HTTP,人们可以搜索位置使用 IPFS,人们可以搜索内容IPFS具体的搜索流程如下:当我们把文件上传到IPFS节点时,该文件将会拥有一个新名称,该名称实际上是一个加密哈希,它是从该文件的内容中计算出来的。密码学保证该散列始终仅表示该文件的内容。如果文件被更改,哈希值也会随之改变。当我们向 IPFS 分布式网络询问该哈希时,它有效地使用分布式哈希表找到具有数据的节点,并检索它以及使

2021-08-13 09:56:53 4002

原创 结构数组和结构指针(C语言)

1.结构数组的三种定义:2.结构数组初始化:3.结构数组元素的引用:4.结构指针:指向结构变量:指向结构数:5.结构指针做函数参数:a.实参指针和形参指针指向同一个地址;b.对形参的修改直接影响到实参的值;c.这种形式执行效率较高;...

2021-04-26 10:12:22 178

原创 数据的输入和输出(c语言)

数据的输入和输出类型:整型数据的输入输出、实型数据的输入输出、字符型数据的输入输出;输出数据:printf( “格式控制字符串”,输出项表列 )变量个数输出格式字符 > 输出项多余的格式字符,输出不确定的值格式字符 < 输出项多余的输出项不能输出输入数据:scanf( “格式控制字符串”,输入项表列 )截取数据:scanf("%2d",&a); //输入的数据,截取2列,并赋值给a字符型数据的输

2021-04-26 10:11:41 1149

原创 数据类型、运算符与表达式

1.关键字:C语言规定的、赋予特定含义的、有专门用途的标识符;都用小写字母;C中共有32个关键字;2.标识符:用来标识数据类型、变量、函数、语句的符号;由字母、数字、下划线组成;且第一个字符必须是字母或者下划线;英文字母大小写意义不同;有效长度是1~255个字符;3.常量:程序执行过程中,其值不发生改变的量4.变量:分为:整型变量、实型变量、字符型变量5.数据类型:程序中所使用的常量、变量和函数等程序的基本操作对象都有一种数据类型与之联系;决定了数据的取值范

2021-04-25 18:06:33 108

原创 常见共识算法

1.PoW工作量证明:要求对发起者进行一定量的运算;客户需要做一定难度的工作得到一个结果;验证方很容易通过结果检查出客户端是不是做了相对应的工作;核心特征:不对称性;目前区块链平台采用最多的共识算法;可靠性得到大量验证;对能源大量消耗;矿池引起的中心化问题一直争议不断;2.权益证明PoS:根据持有货币的量和时间,获得利息的制度;该机制仍需要挖矿;该机制根据币龄降低了挖矿的难度,加快了寻找随机数的时间在一定程度上减少了计算哈希的资源消耗;3.委托股权证明DPoS:解决无

2021-04-25 18:05:06 500

原创 结构体和结构变量(C语言)

1.结构: 彼此相关,但类型不同的数据组合在一起的数据类型2.声明结构体:struct 结构名 —— 结构类型名称;大括号内的内容——结构体的成员;定义结构体时,不占用内存(系统还不知道要分配多少内存空间);只有变成结构变量后,系统才会给变量分配内存空间;3.结构体和数组的区别:结构体:数目固定、不同数据类型的有序数据的集合;数组:数目固定、相同数据类型的有序数据的集合;4.结构变量的三种声明方式:5.结构变量的初始化:不能跳过前面的成员给后面的成员赋值,要按顺序赋值;不

2021-04-18 10:45:35 1425

原创 语句和函数的组成(C语言)

1.语句:必须以分号结尾;是字符序列 ;是程序最基本的执行单位;2.语句形式(7种)说明语句:int a,b;表达式语句:表达式;c=a+b //赋值表达式c=a+b; //表达式语句分支语句: 双分支 if-else、多分支 switch循环语句: for、 while、do-while转向语句:break、goto语句、continue、return复合语句:用{ }括起来空语句:;3.函数的组成:函数的头部:返回值类型、函数

2021-04-18 10:43:51 576

原创 《数据结构》笔记(上)

1.用语句的频度来分析算法的时间复杂度。语句的频度是指语句在算法中被重复执行的次数。2.空间复杂度是指该算法所耗费的存储空间。算法原地工作是指算法所需的辅助空间为常量。3.线性表是:具有相同数据类型的N个数据元素的有限序列。线性表的顺序存储,又称为顺序表。顺序表:用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑上相邻的两个元素,在物理位置上也相邻。顺序表最主要的特点是随机访问,即通过首地址和元素序号,就可以在O(1)时间内找到指定的元素。顺序表的存储密度高,每个节点只存储数据

2021-04-17 18:53:00 144 1

原创 高德地图Infowindow位置设置

如图:如果想设备Infowindow相对于点标记的位置时,可以在创建时就通过offset设置偏移量。具体设置如下图,第一位数字表示左右偏移量,第二位数字表示上下偏移量;

2021-04-17 13:36:40 2243

原创 前端兼容之360安全浏览器

360安全浏览器(非极速浏览器版本)现有两种内核模式,即“极速模式”和“兼容模式”。极速模式以Blink(Webkit)为内核的浏览模式,Blink内核具有更高的网页浏览速度和更好网页渲染效果。但由于少部分网银、政府、税务、办公系统等网站对Blink的兼容性不佳,若打开此类网站发现异常,需手动切换到“兼容模式”下继续浏览。兼容模式“兼容模式”下,360安全浏览器调用Trident内核(IE内核),Trident内核具有网页兼容性好、页面适用性广的特征,对于部分在默认“极速模式”下出现问题的网页

2021-03-25 11:22:23 1098

原创 使用递归方法,求解x的n次幂

c语言程序设计第7章编程题:使用递归方法,求解x^n(x的n次幂)。其中x为整数,x不等于0。double product_fun(int n,double x,double y){ if(x==0)printf("参数不合法%f\n",x); y*=x; if(n>1){ product_fun(n-1,x,y); }else{ printf("结果是%.4f\n",y); } return y;}int ma

2020-11-04 18:21:33 10578

原创 输出一个整数的逆序数

c语言程序设计第7章编程题:编写程序,输入一个整数,将它逆序输出。要求定义并调用函数reverse(number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。int reverse(int x){ if(x<10) return x; int n =x; int a; int i=0; while(n){ if(i==0){ a = n%10; //最低位

2020-11-04 11:15:37 7262

原创 使用格里高利公式求π的近似值

c语言程序设计第7章编程题:输入精度e,使用格里高利公式求π的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数pi(e)求π的近似值。void pi(double x){ double sum; double item=1; int n=0; do{ sum +=(item*4); n++; item =pow(-1,n)/(2*n+1); }while(fabs(item) >x);

2020-11-04 10:54:53 7278

原创 输出一个整数的全部素数因子

c语言程序设计第7章编程题:编写程序,输出一个整数的全部素数因子。如120的素数因子为2,2,2,3,5.bool judge(n){//判断n是否为素数 if(n<2) return false; //素数必须大于1; for(int i=2;i<n;i++){ if(n%i ==0) return false; } return true;}int main() { int y=56; for(int i=2;i&l

2020-11-03 17:09:52 12609 2

原创 判断一个数是否为素数(c语言)

c语言程序设计第7章编程题:编写函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。素数:大于1,且只能被1和它本身整除;bool prime(m){ if(m<2) return false; //素数必须大于1; for(int i=2;i<m;i++){ if(m%i ==0) return false; } return true;}int main() { int y=17;

2020-11-03 16:42:05 2647

原创 邻接表的深度优先算法

Question:图采用邻接表形式存储,要求写出图的深度优先搜索(DFS)的非递归算法。//借助栈;bool visited[VER_TEX_NUM];void DFSTraverse(Graph G,int v){ InitStack(S); for(i=0;i<G.ver_num;++i){ visited[i] =false; } Push(S,v); visited[v]=true; whil

2020-09-08 18:51:51 466

原创 DFS:深度优先搜索

//DFS:深度优先搜索,类似于树的先序遍历;//递归算法,需要借助递归工作栈;bool visited[MAX_VERTEX_NUM]; void DFSTraverse(Graph G){ for(v=0;v<G.vexnum;++v){ visited[v]=false; } for(v=0;v<G.vexnum;++v){ if(!visited[v]){ DFS(G,v); .

2020-09-08 18:18:27 83

原创 BFS:图的广度优先遍历

//图的广度优先遍历(BFS):类似于二叉树的层序遍历算法;//访问顶点v,接着访问顶点v的所有邻接顶点(未访问);然后再循环,知道所有的顶点都被访问过为止;//借助队列,来记录当前访问的顶点bool visited[MAX_VERTEX_NUM];void BFSTraverse(Graph G){ for(i=0;i<G.vexnum;++i){ visited[i]=false; } InitQueue(Q); for(i=0;i&lt.

2020-09-08 17:09:32 128

原创 非递归算法求二叉树的高度

Question:假设二叉树采用二叉链表存储结构,设计一个非递归算法求二叉树的高度。Analysis:1.用层次遍历来获得二叉树的高度;2.对二叉树进行层次遍历,需要借助队列;3.每次遍历到该层的最右边的结点时,level+1;4.该算法的关键时,如何知道当前的结点是不是该层最后一个结点(last ==rear);Code://二叉链表的结构typedef struct BiTNode{ ElemType data; struct BiTNode *lchild,*rch

2020-09-03 17:24:56 2917 3

原创 用标志域tag判断队空队满的入队和出队算法

题目:若希望循环队列中的元素都能得到利用,则需设置一个标志域tag,并以tag的值为0或1来区分队头指针front和队尾指针rear相同时队列状态是空还是满。试编写与此结构相对应的入队和出队算法。front ==rear && tag ==0,队空;front ==rear && tag ==1,队满;初始化:#define MaxSize 50;typedef struct{ ElemType data[MaxSize]; int front

2020-08-04 17:21:10 1727 2

原创 利用栈判断链表的结点值是否中心对称

题目:设单链表的表头指针为L,结点结构由data和next两个域构成,其中data域为字符型。试设计算法判断该链表的全部n个字符是否中心对称。例如xyx,xyyx都是中心对称。分析:链表中心对程,即第一个元素的data和最后一个元素的data相等;第二个元素的data和倒数第二个元素的data相等;以此类推;该题已知链表的长度和头指针,可以先用栈存储前半部分的结点(0~i,i=n/2);然后遍历链表的后半部分,将i+1的元素值拿出来与栈顶元素值相比较;如果相同,就弹出栈顶元素,链表指针后移,准备

2020-07-30 17:27:28 1374

原创 栈的基本操作

1.初始化栈:void InitStack(SqStack &s){ s.top = -1; //栈顶指针;}2.判断栈是否为空:bool StackEmpty(SqStack s){ if(s.top == -1){//栈为空 return true; }else{ return false; }}3.进栈操作:bool Push(SqStack &s,ElemType x){ if(s.top

2020-07-30 10:26:05 235

原创 链表中绝对值相等的节点,仅保留第一次出现的节点而删除其余绝对值相等的节点

题目:用单链表保存m个整数,节点的结构为【data,link】,且|data|<n(n为正整数)。现要求设计一个时间复杂度尽可能高效地算法,对于链表中绝对值相等的节点,仅保留第一次出现的节点而删除其余绝对值相等的节点。例如,若给定的单链表head如下 :则删除节点后的head为:要求:(1) 给出算法的基本思想(2) 使用c或c++语言,给出单链表节点的数据类型定义。(3) 根据设计思想,采用c或c++语言描述算法,关键之处给出注释。(4) 说明所涉及算法的时间复杂度和空间复杂度。

2020-07-29 17:21:59 2015 1

原创 找出由str1和str2所指向两个链表共同后缀的起始位置

题目(2012统考真题):假定采用带头结点的单链表保存单词,当两个单词有相同的后缀时,则可共享相同的后缀存储空间,例如,“loading”和"being"的存储映像如下图所示:设str1和str2分别指向两个单词所在单链表的头结点,链表结点结构为(data,next),请设计一个时间上尽可能高效的算法,找出由str1和str2所指向两个链表共同后缀的起始位置(如图中字符i所在结点的位置p)。要求:(1)给出算法的基本设计思想。(2)根据设计思想,采用C或C++或java语言描述算法关键之处给出注释。

2020-07-29 16:23:49 992 3

原创 查找单链表中倒数第k个位置上的结点

题目(2009统考真题):已知一个带有表头结点的单链表,结点结构为假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data值,并返回1;否则,只返回0。要求:(1) 描述算法的基本设计思想(2) 描述算法的详细实现步骤(3) 根据设计思想和实现步骤,采用程序设计语言描述算法(使用C或C++或JAVA语言实现),关键之处请给出简要注释。基本设计思想 :定义两个指针变量p和q;初始时

2020-07-27 16:45:29 1988 1

原创 删除循环单链表中的结点,且输出值从小到大

题目:设有一个带头结点的循环单链表,其结点值均为正整数。设计一个算法,反复找出单链表中结点值最小的结点并输出,然后将该结点从中删除,直到单链表空为止,再删除表头结点。分析:遍历整个链表,将每个点的值与最小值进行对比;初始时,假设第一个结点的值为最小值min;用pre指针记录:指向最小值结点的指针;CODE:void del_min(LinkList &L){ while(L->next != L){ //链表不为空; LNode *p = L->

2020-07-27 15:59:02 289

原创 将循环单链表h2链接到循环单链表h1之后

题目:有两个循环单链表,链表头指针分别为h1和h2,编写一函数,将链表h2链接到链表h1之后,要求链接后的链表仍保持循环链表的形式。分析:把链表h1的尾指针,改为指向h2即可;将h2的尾指针指向h1的第一个结点;LinkList Link(LinkList &h1,LinkList &h2){//假设两个链表都带有头结点; if(h2->next == h2) return; //链表h2为空表,不需要链接; //查找尾指针; r1 = Sear

2020-07-24 17:14:03 422

原创 判断带头结点的循环双链表是否对称

题目:设计一个算法,用于判断带头结点的循环双链表是否对称。分析:循环双链表的特点是:当前结点方便找到前后节点,且尾指针指向第一个结点;判断第一个结点和最后一个结点的值是否相等,如果想到,再判断第二个结点和倒数第二个结点;以此类推;从前往后遍历,采用p指针,从后往前遍历,采用q指针;如果存在不相等的,退出判断;链表表长为奇数时,如果指针p和q指向同一个结点,则退出循环,说明链表是对称的;链表表长为偶数是,如果指针p和q相邻,则比完p->data和q->data后即可退出;bo

2020-07-24 16:21:56 4327 1

原创 判断序列B是否是序列A的连续子序列

题目:两个整数序列,A=a1,a2,a3,…,am和B=b1,b2,b3,…,bn已经存入两个单链表中,设计一个算法,判断序列B是否是序列A的连续子序列。分析:如果B是A的连续子序列,则在A中能找到一小段,与B一一对应;A表的长度m肯定是大于等于B表的长度;拿B中的第一个元素出来与A中的元素一一比较,如果找到相同的元素,则要判断接下来的元素是不是与B中一一对应;上述步骤中,只要有一个不符合,则需要重新在A接下来的结点中,找到与B的第一个元素相同的结点;然后重复第三和第四步骤,知道A中的元素全

2020-07-24 11:36:49 1997 1

原创 求链表A和B的交集,并存放于A链表中

题目:已知,两个链表A和B分别表示两个集合,其元素递增排列。编制函数,求A与B的交集,并存放于A链表中。分析:求交集,即要找出A中和B中都有的元素;元素递增排列,则可同时遍历;用p指针指向A中当前的结点;用q指针指向B中当前的结点;如果A的data比B的小,则释放当前节点,且A的指针往右移动一位;然后继续比较;如果B的data比B的小,则释放当前节点,B的指针往右移动一位;然后继续比较;如果data相同,则A中保留结点,而B中继续删除该结点;且指针同时右移一位;如果A表比较短,只要确保A中的

2020-07-24 10:33:17 3060 1

原创 设A和B是两个单链表(带头结点),其中元素递增有序。设计一个算法,从A和B中的公共元素产生单链表C,要求不破坏A、B的结点。

A、B两个链表的元素均递增有序,所以可以,按顺序,同时从A中和B中各取出一个结点的值来对比;如果A中结点的值比较小,则A中的指针右移;如果B中结点的值比较小,则B中的指针右移;如果相等,则将结点值取出,赋与S结点;并将S结点插入C链表中;然后A、B中的指针各右移;LinkList Get_Common(LinkList A,LinkList B,LinkList &C){ C->next =NULL; //确认c为空链表; LNode *r; r = C;.

2020-07-23 17:52:49 5086 2

原创 在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法,去掉数值相同的元素,使得表中不再有重复的元素。

在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法,去掉数值相同的元素,使得表中不再有重复的元素。例如(7,10,10,21,30,42,42,42,51,70)将变为(7,10,21,30,42,51,70)。分析:递增有序的线性表中,数值相同的元素,其位置肯定相邻;思路一:先将线性表中的元素依次存储到链表中;然后遍历链表,前后结点的值如果一致,就删除后一个结点;思路二:在线性表中,删除完重复的元素后,将线性表中,剩下的元素依次存储到链表中;//采用思路一void

2020-07-23 11:01:49 5015

原创 线性表

1.线性结构的特点?非空时,存在唯一的一个被称为“第一个”的数据元素;非空时,存在唯一的一个被称为“最后一个”的数据元素;非空时,除第一个外,集合中的每个数据元素均只有一个前驱;非空时,除最后一个外,集合中的每个数据元素均只有一个后继。2.什么是线性表?n个数据元素的有限序列;最常用且最简单的一种数据结构;3.线性表的特点是什么?非空表中,每个数据元素都有一个确定的位置...

2020-01-01 19:48:07 139

原创 算法

1.什么是算法?对特定问题求解步骤的一种描述。是指令的有限序列。2.算法的基本特性?有穷性(合理的,可接受的)确定性(每条指令都有确切的含义,读者理解时不会产生二义性)可行性(可行的,可以执行有限次来实现)输入(零个或多个输入)输出(一个或多个输入)3.算法的评价标准(算法的目标)?正确性可读性健壮性(当输入数据非法时,算法能适当地作出反应或者处理,而不会产生莫名...

2020-01-01 16:05:42 136

原创 定位系统坐标系

由于项目的原因,博主最近天天围绕着地图转来转去~~~之前,由于Leaflet其自身的轻便性,博主和很多开发人员一样,偏爱着这个插件。然而,随着对地图功能需求的提升,以及开发的深入,越到后面,越发现,Leaflet已经不能达到使用需求,且出现了很多问题。这些无解的问题,使得我不得不反思,是不是应该在这个项目上,弃用Leaflet。在这边总结下项目需求:根据用户使用不同的语言加载不同的地图,如使...

2019-12-02 11:21:58 1757

原创 JavaScript的扩展——E4X

E4X,是不是好像没见过,但是如果你看下说明后,你会觉得异常的亲切。你可以把她理解为:“支持 XML 的 ECMAScript”(ECMAScript For XML),也就是说:E4X = JavaScript for XML。它于 2004 年 6 月被确立为标准,但是,截至目前,之前它的浏览器少之又少。所以,在开发过程中,可能都没有遇到过这个概念。尽管如此,它还是有一定的优势的:应用起...

2019-11-20 10:17:38 155

原创 TCP/IP基础笔记

1.什么是TCP/IP ?Transmission Control Protocol / Internet Protocol;供已连接因特网的计算机进行通信的通信协议;定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准;只有遵守这些规则,计算机之间才能进行通信;2.TCP/IP的工作模式?TCP 和 IP 在一起协同工作;TCP 负责应用软件(比如您的...

2019-11-19 17:42:43 93

原创 关于HTTP协议的二三点

1.什么是HTTP协议?HTTP协议:全称:超文本传输协议,英文是:HyperText Transfer Protocol。HTTP基于TCP/IP通信协议来传递数据。2.HTTP的特点是什么?每次连接只处理一个请;任何类型的数据都可以通过HTTP发送;议对于事务处理没有记忆能力;3.HTTP请求消息的结构(报文格式)是什么样的?请求行(request line;请求头...

2019-11-18 17:42:48 134

原创 判断input输入的是否是数字

本来想总结下,数字输入验证的,却没成想,一脚一个坑。。。没有能根治的方法。。。不管如何,还是总结下常用的几种方法吧~~~html5中表单input,拥有一些新的输入属性,极大方便了我们开发过程中的一些表单验证。但是由于浏览器的兼容性,其有存在着一些不完美。从下图中,我们可以看到,并不是所有的浏览器都支持新的属性。那么对于需要兼容火狐或者ie的项目来说,我们需要进行一些拓展。基于该目标:判断...

2019-11-15 14:38:31 4459

原创 alert与console.log区别

alert():1.有阻塞作用,不点击确定,后续代码无法继续执行;2.alert()只能输出string,如果alert输出的是对象会自动调用toString()方法; alert( [a,b,c] ); //a,b,c3.alert不支持多个参数的写法,只能输出第一个值;alert(1,2,3); //1console.log():1.在打印台输出,可以打印任何类型的...

2019-11-13 16:47:22 737

c语言程序设计(双色版)第二章课后答案_不含编程题.pdf

c语言程序设计(双色版)第二章课后答案_不含编程题.pdf

2021-10-26

数据结构-习题精讲.pdf

xindongfang在线习题

2021-07-13

c语言程序设计_张玉生(双色版)_第7章编程题答案.pdf

第7章课后习题,编程题答案

2020-11-04

键盘与鼠标按键的键值对照表.pdf

1.键盘与鼠标按键的键值对照表; 2.pdf版本。。。。。。。。。。。。。。。。。。。。。。。。。。

2019-11-18

angular搜索指令

1.基于angular,优化搜索操作,减少不必要的请求; 2.压缩包已安装好依赖,下载解压后,直接运行即可;

2019-11-13

date-picker.zip

1.基于angular,写一个shared组件——时间控件; 2.该控件可扩展:年选择器,年-月选择器,年月日选择器; 3.压缩包已安装好依赖,下载解压后,可直接使用ng serve --open,运行项目;

2019-11-06

Angular多重子级路由

Angular多重子级路由,范本文件;下载后,npm install安装modules来启动该文件

2019-06-11

Angular+Leaflet地图

Angular+Leaflet 封装一个map组件; 由于文件大小原因,只压缩了src文件,如果需要运行,请npm install;

2019-05-05

Angular分页组件

Angular自定义一个分页组件; 替代angular material提供的分页组件; 可根据个人需求做适当的修改;

2019-02-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除