自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ywl470812087的博客

这个很懒,什么也没留下

  • 博客(41)
  • 收藏
  • 关注

原创 已知先序和中序求后序

先序: ABCDEFGH中序: BDCEAFHG求后序:DECBHGFA具体看B站郝斌视频:https://www.bilibili.com/video/BV11s41167h6?p=71

2020-05-30 13:12:47 116715 1

原创 二叉树的遍历

遍历先序遍历[先访问根节点]先访问根节点再先序访问左子树再先序访问右子树中序遍历[中间访问根节点]中序遍历左子树再访问根节点再中序遍历右子树后序遍历[最后访问根节点]先中序遍历左子树再中序遍历右子树再访问根节点已知两种遍历序列求原始二叉树通过先序和中序或者中序和后序我们可以还原出原始的二叉树但是通过先序和后序是无法还原出原始的二叉树的换种说法:只有通过先序和中序,或 通过中序和后序我们才可以唯一的确定一个二叉树...

2020-05-30 12:36:43 93346

原创 数据结构:在一个单链表中,若删除p指向节点的后继节点,则执行的操作为:( )

在一个单链表中,若删除p指向节点的后继节点,则执行的操作为:( )A.q=p->next; p->next=p->next->next; free(q)B.p=p->next; q=p->next;p=q->next; free(q)C.q=p->next->next; p=p->next; free(q)D.p=p->next->next;q=p->next; free(q)为什么答案是A呢?按照我的理解是:删除

2020-05-30 11:19:08 149268

原创 解决scanf_s函数报错:没有为格式字符串传递足够的参数

报错:scanf_s函数报错:没有为格式字符串传递足够的参数这个问题很变态解决办法:在使用%c和%s读入字符或字符串时,应在地址参数后附加一个缓冲区边界值。int main() { char s1[20] = "i m name"; char *p1, *p2; char s3[10] = {0}; p1 = s1; p2 = s3; printf("请输入你的名字: \n"); //scanf_s("%s",&s3); scanf_s("%s",&.

2020-05-24 16:55:23 166642 16

原创 数据结构之树概述

非线性结构:树的定义:树(Tree)是n(n>=0)个节点的有限集T。它或是空集(空树即n=0),或者是非空集。对于任意一颗非空树:(1)有且仅有一个特定的称为根的节点。(2)当n>1时,其余节点可分为m(m>0)个互不相交的有限集合T1,T2,T3,......................,Tm 其中每个集合本身又是一棵树,并称为根的子树。树定义专业定义:1. 有且只有一个称为根的节点2.有若干个互不相交的子树,这些子树本身也是一棵树通俗的定义:1.树.

2020-05-16 18:58:54 101682

原创 mysql常见函数

#进阶4:常见函数/*概念:类似于java的方法,将一组逻辑语句封装在方法体中,对外暴露方法名好处:1、隐藏了实现细节 2、提高代码的重用性调用:select 函数名(实参列表) 【from 表】;特点: ①叫什么(函数名) ②干什么(函数功能)分类: 1、单行函数 如 concat、length、ifnull等 2、分组函数 功能:做统计使用,又称为统计函数、聚合函数、组函数 常见函数: 一、单行函数 ...

2020-05-10 22:02:40 111701

原创 斐波那契数列的四种实现方式(C语言)

斐波那契数列是一组第一位和第二位为1,从第三位开始,后一位是前两位和的一组递增数列,像这样的:1、1、2、3、5、8、13、21、34、55......今天,我们用四种方式来进行实现:1.递归int Fibon1(int n){ if (n == 1 || n == 2){ return 1; }else{ return Fibon1(n - 1) + Fibon1(n - 2); }}int main(){ int n...

2020-05-10 21:33:53 145377 9

原创 递归实现汉诺塔程序

#include <stdio.h>//将n个盘子从x借助y移动到zvoid move(int n,char x, char y, char z){ if (1 == n) { printf("%c-哈哈->%c\n",x,z); }else{ move(n - 1, x,z, y); //将n-1个盘子从x借助z移到y上 printf("%c-->%c\n", x,z); //将第n个盘子从x移到z上 move(n - 1, y, .

2020-05-10 19:40:57 113730

原创 递归求1到100的和算法演示

#include <stdio.h>#include <string.h>#include <malloc.h>#include <stdlib.h>long sum_sum(int n) { if (1 == n) { return 1; } else { int sum = n + sum_sum(n - 1); return sum; }}int main(void) { sum_sum(5); pr.

2020-05-10 12:50:47 109957

原创 递归求n的阶层算法实现

#include <stdio.h>#include <string.h>#include <malloc.h>#include <stdlib.h>void f();void g();void k();void f() { printf("FFFF\n"); g();}void g() { printf("GGGG\n"); k();}void k() { printf("KKKK\n");}int mai.

2020-05-10 11:18:42 117508

原创 队列入队和出队程序演示

#include <stdio.h>#include <string.h>#include <malloc.h>typedef struct Queue { int * pBase; int front; int rear;} QUEUE;void init(QUEUE *);bool en_queue(QUEUE *pQ, int val); //入队void traverse_queue(QUEUE * pQ);bool ful.

2020-05-10 09:52:44 102661

转载 数据库优化 - MYSQL优化

判断问题SQL判断SQL是否有问题时可以通过两个表象进行判断:系统级别表象CPU消耗严重IO等待严重页面响应时间过长应用的日志出现超时等错误可以使用sar命令,top命令查看当前系统状态。也可以通过Prometheus、Grafana等监控工具观察系统状态。(感兴趣的可以翻看我之前的文章)SQL语句表象冗长执行时间过长从全表扫描获取数据执行计划中的rows、co...

2020-05-05 17:12:45 115417

原创 链表队列回收队列

回收队列  回收可以快速取消队列,方法是让头尾碰面即可。status destoryQueue(LinkQueue* que) { //回收队列 if(que->head){ que->rear = que->head->next; free(que->head); que->head=que-...

2020-05-05 12:17:10 104882

原创 链表队列出队算法

出队操作  我们来思考这个过程,在下图队列中,我们出队的第一个元素是元素A,不是1。(因为1不是插入进来了的,而是我们初始化时就有的)。我们首先让*t等于head的next,即元素A。然后修改head的next指向为元素A的next。这样head的next就会指向元素B。出队操作就完成了。代码如下:status delQueue(LinkQueue* que,QElemtyp...

2020-05-05 12:11:48 111884

原创 链表队列入队算法

入队操作  一定要搞清指针的概念。  首先rear和head指向同一个元素。然后,我们使rear的next指向新元素,这样rear指向的元素(即1)的next就是新元素了。最后,我们让rear指向新元素。这样一个入队操作就完成了。    代码如下:status enQueue(LinkQueue* que,QElemtype e){ QueuePtr p = (Que...

2020-05-05 12:08:43 123636

原创 链表队列初始化

队列初始化  初始化主要是对为队列中的两个重要节点分配空间,这里我们需要注意的是初始化时头指针和尾指针指向同一个节点。代码如下:status initQueue(LinkQueue* que) { //初始化队列 que->head=que->rear=(QueuePtr)malloc(sizeof(QNode)); if(!que->hea...

2020-05-05 12:04:32 105589

原创 链表队列入门介绍

1,快速开始:队列是一种和栈相反的,遵循先进先出原则的线性表。此文章使用链表来实现队列。如上图所示,就像一个自来水管,先进入水管的水先从水龙头出来,即Front位置的元素最先出队列,因为它们是最先入队列的。2、实现队列  本代码是严蔚敏教授的数据结构书上面的伪代码的C语言实现代码。  一定要多思考,多问为什么!  首先我们定义了一些常量:#include <...

2020-05-05 12:00:58 120875

原创 静态队列

静态队列- --用数组实现静态队列通常都必须是循环队列循环队列的讲解:1.静态队列为什么必须是循环队列数组表示的问题     对于队列最好的方法是使用链表实现,因为对于数组来说,队列可能会出现下面这种情况:如图所示,不可以继续添加元素,否则会造成数组越界而遭致程序出错。然而此时又不应该扩充数组,因为还有大量实际空间未被占用。此时我们应该如何解决这个问题呢?我们将其实现...

2020-05-05 11:56:57 112498

原创 队列入门简介

线性结构的两种常见应用之二队列定义:种可以实现“先进先出”的存储结构分类:链式队列、静态队列队列(常用数据结构之一)队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。简介队列是一种特殊的线性表,特殊之处在于它只允...

2020-05-05 09:51:40 117379

原创 MySQL事务介绍

##数据库事务###含义 通过一组逻辑操作单元(一组DML——sql语句),将数据从一种状态切换到另外一种状态###特点 (ACID) 原子性:要么都执行,要么都回滚 一致性:保证数据的状态操作前和操作后保持一致 隔离性:多个事务同时操作相同数据库的同一个数据时,一个事务的执行不受另外一个事务的干扰 持久性:一个事务一旦提交,则数据将持久化到本...

2020-05-04 21:46:12 116482

原创 MySQL DDL语言笔记

##DDL语句###库和表的管理库的管理: 一、创建库 create database 库名 二、删除库 drop database 库名表的管理: #1.创建表 CREATE TABLE IF NOT EXISTS stuinfo( stuId INT, stuName VARCHAR(20),...

2020-05-04 21:43:58 121429

原创 MySQL DML语言笔记

##DML语言###插入语法: insert into 表名(字段名,...) values(值1,...);特点: 1、字段类型和值类型一致或兼容,而且一一对应 2、可以为空的字段,可以不用插入值,或用null填充 3、不可以为空的字段,必须插入值 4、字段个数和值的个数必须一致 5、字段可以省略,但默认所有字段,并且顺序和表...

2020-05-04 21:41:31 104250

原创 MySQL DQL语言的笔记

##DQL语言的学习###进阶1:基础查询 语法: SELECT 要查询的东西 【FROM 表名】; 类似于Java中 :System.out.println(要打印的东西); 特点: ①通过select查询完的结果 ,是一个虚拟的表格,不是真实存在 ② 要查询的东西 可以是常量值、可以是表达式、可以是字段、可以是函数###进阶2:条...

2020-05-04 21:39:30 116926

原创 MySQL的常见命令 

###MySQL的常见命令 1.查看当前所有的数据库 show databases; 2.打开指定的库 use 库名 3.查看当前库的所有表 show tables; 4.查看其它库的所有表 show tables from 库名; 5.创建表 create table 表名( 列名 列类型,...

2020-05-04 21:35:14 128487

原创 MySQL介绍

一、MySQL的背景前身属于瑞典的一家公司,MysSQL AB08年被sun公司收购09年sun被oracle收购二、IMySQL的优点1、开源、免费、成本低2、性能高、移植性也好3、体积小,便于安装三、MySQL的安装属于c/s架构的软件,- -般来讲安装服务端企业版社区版5.55.65.78.0四、MySQL服务的启动和停止方式- -:通过命令行net s...

2020-05-04 21:30:01 138328

原创 数据库的介绍

一、数据库的好处1、可以持久化数据到本地2、结构化查询二、数据库的常见概念★1、DB:数据库,存储数据的容器2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB3、SQL: 结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言三、数据库存储数据的特点1、数据存放到表中,然后表再放到库中2、一个...

2020-05-04 21:18:27 116614

原创 栈清空程序演示

#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef struct Node{ int data; struct Node * pNext;}NODE,*PNODE;typedef struct Stack{ PNODE pTop; //栈顶元素 PN...

2020-05-04 16:28:36 108909

原创 出栈程序演示

#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef struct Node{ int data; struct Node * pNext;}NODE,*PNODE;typedef struct Stack{ PNODE pTop; //栈顶元素 PN...

2020-05-04 13:31:24 113755

原创 栈程序演示

#include <stdio.h>#include <malloc.h>#include <stdlib.h>typedef struct Node{ int data; struct Node * pNext;}NODE,*PNODE;typedef struct Stack{ PNODE pTop; //栈顶元素 PN...

2020-05-04 12:54:55 122666

原创 栈入门

栈的定义:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。基本概念要搞清楚这个概念,首先要明白”栈“原来的意思...

2020-05-02 20:30:12 121618 4

原创 数组和链表的总结

数据结构狭义:数据结构是专门研究数据存储的问题数据的存储包含两方面:个体的存储 +个体关 系的存储广义:数据结构既包含数据的存储也包含数据的操作对存储数据的操作就是算法算法:狭义:算法是和数据的存储方式密切相关广义:算法和数据的存储方式无关这就是泛型思想数据的存储结构有几种连续存储[数组]优点:查询速度很快.缺点:1,事先必须知道数组...

2020-05-02 19:30:52 113017

原创 链表删除功能实现演示

插入算法演示:#include <stdio.h>#include <malloc.h>#include <string.h>#include <stdlib.h>typedef struct Node { int data; //数据域 struct Node * pNext; //指针域}Node, *pNode;...

2020-05-02 14:49:33 96930

原创 链表插入功能实现演示

#include <stdio.h>#include <malloc.h>#include <string.h>#include <stdlib.h>typedef struct Node { int data; //数据域 struct Node * pNext; //指针域}Node, *pNode;//函数...

2020-05-02 14:16:11 130129

原创 链表选择排序算法功能实现演示

算法:狭义的算法是与数据的存数方式密切相关广义的算法是与数据的存储方式无关泛型:利用某种技术达到的效果就是:不同的存数方式,执行的操作是一样的#include <stdio.h>#include <malloc.h>#include <string.h>#include <stdlib.h>typedef struct N...

2020-05-02 11:58:28 95562

原创 最简单的SpringCloud教程 | 第二篇: 服务消费者(rest+ribbon)(Finchley版本)

在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。一、ribbon简介Ribbon is a client side load balancer wh...

2020-05-01 21:41:38 83025 1

原创 最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)

一、spring cloud简介鉴于《史上最简单的Spring Cloud教程》很受读者欢迎,再次我特意升级了一下版本,目前支持的版本为Spring Boot版本2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE。Finchley版本的官方文档如下:http://cloud.spring.io/spring-cloud-static/Finchley...

2020-05-01 21:29:47 106344

原创 SpringCloud Eureka参数配置项详解

Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考。 Eureka客户端配置 1、RegistryFetchIntervalSeconds 从eureka服务器注册表中获取注册信息的时间间隔(s),默认为30秒 ...

2020-05-01 18:58:01 106587

原创 SpringCloud 入门教程(十):和RabbitMQ的整合 -- 消息总线Spring Cloud Netflix Bus

在本教程第三讲Spring Cloud 入门教程(三): 配置自动刷新中,通过POST方式向客户端发送/refresh请求, 可以让客户端获取到配置的最新变化。但试想一下, 在分布式系统中,如果存在很多个客户端都需要刷新改配置,通过这种方式去刷新也是一种非常痛苦的事情。那有没有什么办法让系统自动完成呢? 之前我们提到用githook或者jenkins等外部工具来触发。现在说另外一种思路, 如果re...

2020-05-01 18:55:53 113093

原创 SpringCloud 入门教程(九): 路由网关zuul

在微服务架构中,需要几个关键的组件,服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个组件可以组建一个简单的微服务架构。客户端的请求首先经过负载均衡(zuul、Ngnix),再到达服务网关(zuul集群),然后再到具体的服务,服务统一注册到高可用的服务注册中心集群,服务的所有的配置文件由配置服务管理(下一篇文章讲述),配置服务的配置文件放在Git仓库,方便开发人员随时改配置...

2020-05-01 18:53:27 122352

原创 SpringCloud 入门教程(八): 断路器指标数据监控Hystrix Dashboard 和 Turbine

1. Hystrix Dashboard (断路器:hystrix 仪表盘)Hystrix一个很重要的功能是,可以通过HystrixCommand收集相关数据指标. Hystrix Dashboard可以很高效的现实每个断路器的健康状况。1). 在Ribbon服务g和Feign服务的Maven工程的pom.xml中都加入依赖 <dependency> <...

2020-05-01 18:35:32 126656

空空如也

空空如也

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

TA关注的人

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