自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 SpringringCloud-config 报错误:No spring.config.import property has been defined.Add a spring.config.imp

springcloud-config 报错:No spring.config.import property has been defined.Add a spring.config.import=configserver: property to your configuration. If configuration is not required add spring.config.import=optional:configserver

2023-10-25 20:56:44 1334

原创 阿里云服务器 解决Zookeeper连接超时 KeeperErrorCode = ConnectionLoss Background operation retry等问题

最近在学习springcloud 在我的阿里云服务器已经装好了zookeeper 防火墙也关闭了,但是连接一直超时,报以上的错误,更改了连接超时时间为40000ms 也没用用,百思不得其解。后来想了想,可能与阿里云服务器端口有关。

2023-10-20 11:44:15 776

原创 Maximum Subsequence Sum (25 分)

牛客PTAMaximum Subsequence Sum (25 分)Given a sequence of K integers { N​1​​ , N​2​​ , …, N​K​​ }. A continuous ubsequence is defined to be { N​i​​ , N​i+1​​ , …, N​j​​ } where 1≤i≤j≤K. The Maximum Subsequence is the continuous subsequence which has the

2021-06-13 16:53:02 129

原创 数据结构练习(1)二分查找

浙大数据结构练习添加链接描述二分查找本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */};L是用户传入的一

2021-06-09 15:40:56 141

原创 c++多态

多态多态是C++面向对象三大特性之一封装、继承、多态多态分为两类静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名动态多态: 派生类和虚函数实现运行时多态静态多态和动态多态区别:静态多态的函数地址早绑定 - 编译阶段确定函数地址动态多态的函数地址晚绑定 - 运行阶段确定函数地址多态满足的条件:有继承关系子类重写父类中的虚函数多态使用:父类指针或引用指向子类对象重写:函数返回值类型 函数名 参数列表 完全一致称为重写class Animal{

2021-06-02 15:53:27 87

原创 C++菱形继承

菱形继承基本概念:两个派生类继承同一个基类​ 又有某个类同时继承者两个派生类​ 这种继承被称为菱形继承,或者钻石继承。就会产生二义性的问题。需要在继承前加一个virtual就可以了。class Animal{public: int m_Age;};//继承前加virtual关键字后,变为虚继承//此时公共的父类Animal称为虚基类class Sheep : virtual public Animal {};class Tuo : virtual public Animal

2021-05-31 17:47:39 119

原创 C++多继承语法

C++是支持多继承的语法: class 子类:继承方式 父类1,继承方式 父类2…多继承可能会引发父类中有同名成员出现,需要加作用域区分,C++实际开发中不建议用多继承class Base1{public : Base1() { p_a = 100; } int p_a;};class Base2{public: Base2() { p_b = 200; } int p_b;};class Base3{public: Base3() {

2021-05-31 17:33:39 114

原创 继承同名静态成员处理方式

在C++中,继承中同名的静态成员在子类对象上如何进行访问?静态成员变量所以对象共享一份数据在编译阶段分配内存类内声明,类外初始化静态成员变量所以对象共享同一个函数静态成员函数只能访问静态成员变量静态成员和非静态成员出现同名,处理的方法是一样的访问子类同名成员 直接访问即可访问父类同名成员 需要加作用域class Base{public: Base() { cout << "构造一个Base类对象" << endl;

2021-05-31 17:22:52 85

原创 C++继承同名成员处理方式

继承同名成员处理方式访问子类同名成员, 直接访问就可以访问父类同名成员 需要加作用域在C++中 如果子类成员与父类成员同名时,子类会隐藏父类的同名成员。当子类与父类拥有同名的成员函数,子类会隐藏父类中所有版本的同名成员函数如果想访问父类中被隐藏的同名成员函数,需要加父类的作用域例如:class Base{public: Base() { m_A = 100; cout << "构造一个Base类对象" << endl; } ~Base() {

2021-05-31 17:07:15 215

原创 C++继承中构造和析构顺序

继承中构造和析构顺序子类继承父类后,当创建子类对象,也会调用父类的构造函数。这个时候就会先构造父类,在构造子类,正所谓:现有先有父亲在有儿子。而析构的顺序恰恰想反,要先析构儿子在析构父亲。class Base{public: Base() { cout << "构造一个Base类对象" << endl; } ~Base() { cout << "析构一个Base类对象" << endl; }};class Son :publi

2021-05-31 16:53:09 356

原创 C++对象模型,查看对象内存布局

对象模型我们可以查看C++中对象继承的内存大小。可以利用vs自带的DOS系统进行查看如:#include<iostream>using namespace std;class Base{public: int m_A;protected: int m_B;private: int m_C; //私有成员只是被隐藏了,但是还是会继承下去};//公共继承class Son :public Base{public: int m_D;};void test(

2021-05-31 09:55:20 508

原创 c++继承(继承方式,对象模型)

继承方式继承有三种方式:public:父类的public属性依然是public属性,父类的protected属性依然是protected属性protected 父类成员为子类成员的protected属性,父类的public属性到子类为protected属性private 父类成员为子类成员的private属性,父类的public属性到子类为private属性应该要注意,父类的私有成员并没有传给子类class Base{public: int Base_A; protec

2021-05-31 09:54:00 180 1

原创 C++继承

继承继承是面向对象三大特性之一继承的好处:可以减少重复的代码class A : public B;A 类称为子类 或 派生类B 类称为父类 或 基类派生类中的成员,包含两大部分:一类是从基类继承过来的,一类是自己增加的成员。从基类继承过过来的表现其共性,而新增的成员体现了其个性。...

2021-05-28 17:20:16 55

原创 运算符重载

运算符重载基本概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。加号运算符重载作用:实现两个自定义数据类型相加的运算class Person {public : Person() {};//无参构造函数 Person(int a, int b) { this->A = a; this->B = b; } /*Person operator+(const Person & p) { Person temp; temp.A =

2021-05-28 17:15:16 100

原创 C++友元

友元在程序中,有些私有属性,也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术。友元的目的就是让一个函数或者类 访问另一个类中私有成员关键字:friend友元的三种实现:全局函数做友元类做友元成员函数做友元class House{ //告诉编译器visitHouse全局函数,是House的friend,可以访问私有成员 friend void visitHouse(House* house); //告诉编译器class Host是House的好朋友,可以访问本类的成员

2021-05-26 16:17:05 59

原创 C++类的特性--初始化列表

初始化列表作用:C++提供了初始化列表语法,用来初始化属性语法:构造函数():属性1(值1),属性2(值2)… {}class Person{private: int A; int B; int C; public: Person(int a,int b,int c):A(a),B(b),C(c) {} void PrintPerson() { cout << "A" << A << endl; cout << "B" &l

2021-05-26 14:47:18 78

转载 C++类的特性---对象的初始化和清理

对象的初始化和清理生活中我们买的电子产品都基本会有出厂设置,在某一天我们不用时候也会删除一些自己信息数据保证安全C++中的面向对象来源于生活,每个对象也都会有初始设置以及 对象销毁前的清理数据的设置。构造函数和析构函数对象的初始化和清理也是两个非常重要的安全问题。​ 一个对象或者变量没有初始状态,对其使用后果是未知。​ 同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题。c++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。对

2021-05-26 14:46:08 74

转载 类和对象,类的特性

概述C++面向对象的三大特性为:封装、继承、多态C++认为万事万物都皆为对象,对象上有其属性和行为例如:​ 人可以作为对象,属性有姓名、年龄、身高、体重…,行为有走、跑、跳、吃饭、唱歌…​ 车也可以作为对象,属性有轮胎、方向盘、车灯…,行为有载人、放音乐、放空调…​ 具有相同性质的对象,我们可以抽象称为类,人属于人类,车属于车类封装封装的意义封装是C++面向对象三大特性之一将属性和行为作为一个整体,表现生活中的事物将属性和行为加以权限控制封装意义一:在设计类的时候,属性和行为写

2021-05-24 17:51:06 190

原创 函数提高

函数默认参数在C++中,函数的形参列表中的形参是可以有默认值的。当调用函数时,可以如果没有传入参数,函数就会用它的默认形参 。语法:返回值类型 函数名 (参数=默认值){ }例子:int func01(int a, int b = 100, int c = 90){ return a + b + c;}int func02(int a = 10, int b = 90);int func02(int a , int b){ return a + b;}void test01

2021-05-24 10:58:21 81

原创 new操作符

C++中利用 new操作符在堆空间开辟数据。堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符 delete语法:new 数据类型说明:利用new创建的数据,会返回该数据对应的类型的指针举个例子:int* test(){ int* a = new int(100); return a; }int main(){ int* p=test(); cout<<*p<<endl; cout<<*p<<endl; //利用del

2021-05-24 09:18:13 130

转载 C++内存分区&引用详解(超详细)

C++内存分区代码区:存放函数体的二进制代码,由OS系统进行管理全局区:存放变量的静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时OS回收内存四区意义:不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程2.3示例:引用注意事项引用必须初始化引用在初始化后,不可以改变int main() { int a = 10; int b = 20; //int &c; //错误,引

2021-05-22 20:42:38 117

原创 C++基础编程第一部分-通讯录管理系统

**1、系统需求通讯录是一个可以记录亲人、好友信息的工具。本教程主要利用C++来实现一个通讯录管理系统系统中需要实现的功能如下:添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按照姓名进行删除指定联系人查找联系人:按照姓名查看指定联系人信息修改联系人:按照姓名重新修改指定联系人清空联系人:清空通讯录中所有信息退出通讯录:退出当前使用的通讯录#include <iostream

2021-05-04 16:40:53 86

原创 树的同构

题目现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点数(此时假设结点从0到N−1编号);随后N行,第i行对应编号第i个结点,给出该结点中存储的1个英文大写字母、其左孩子结点的编号、右孩子结点的编号。如果孩子结点为空,则在相应位置上给出“-”。给出的数据间用一个空格分隔。注意:题目保证每个结点中存储的字母是不同的。输出格式:如果两棵树是同构的,输出“Yes”,否则输出“No”。输入样例1(对应图1

2021-04-08 10:00:22 166

原创 数据结构-二叉树的非层次遍历以及应用(输出叶子结点,求树的高度)

数据结构-二叉树的非层次遍历以及应用(输出叶子结点,求树的高度)树的定义以树节点的堆栈和队列的结构堆栈的操作前序,中序,和后序的非递归遍历使用堆栈可以对二叉树进行层次遍历输出树的叶子结点求树的高度前序,中序,和后序的非递归遍历队列的操作树的定义以树节点的堆栈和队列的结构堆栈的操作前序,中序,和后序的非递归遍历使用堆栈可以对二叉树进行层次遍历输出树的叶子结点求树的高度树的定义:typedef struct TreeNode* BinTree;typedef BinTree Position

2021-03-26 19:40:22 252

原创 2021-03-23

HTML语法简介:“超文本标记语言”,标记就是标签用尖括号包围 ,如<br/>通常是成对出现的<title> 百度一下,你就知道</title>HTML 文档 = 网页HTML 文档描述网页HTML 文档包含 HTML 标签和纯文本HTML 文档也被称为网页Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标签来解释页面的内容:<html><body>

2021-03-26 19:00:32 83

原创 二叉树的非层次遍历(借助堆栈)

二叉树的非层次遍历"tree.h"#include<stdio.h>#include<stdlib.h>#define MAX_TREE_SIZE 100#define OK 1#define False 0;#define ERROR -1#define OVERFLOW -1typedef int Status;typedef char TElemType;typedef int ElemType;typedef char TElemType;typed

2021-03-22 21:28:33 87

原创 数据结构-二叉树的创建,遍历,线索化及其遍历线索二叉树

#include<stdio.h>#include<stdlib.h>#define MAX_TREE_SIZE 100;#define OK 1#define False 0;#define ERROR -1#define OVERFLOW -1typedef char TElemType;typedef int Status;typedef struct BinTNode{ TElemType data; struct BinTNode* lchil

2021-03-13 21:31:35 118

原创 一元多项式的加法和乘法(浙大)

题目来源:题目连接设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:4 3 4 -5 2 6 1 -2 03 5 20 -7 4 3 1输出样例:15 24 -25

2021-03-01 12:50:23 112

原创 数据结构—队列-链式存储,插入删除

#include<stdio.h>#include<stdlib.h>#define OK 1#define False 0#define ERROR -1typedef int Status;typedef int QElemType;struct Node{ QElemType Data; struct Node* Next;};struct QNode/*代表队列*/{/*链表的头作为队首,链表的尾作为队尾*/ struct Node* r

2021-02-26 15:27:38 800

原创 堆栈-(链式存储)(插入删除操作)

#include<stdio.h>#include<stdlib.h>#define MAXSIZE 30#define OK 1#define ERROR -1#define False 0typedef int SElemType;typedef int Status;typedef struct stackNode* LinktackPtr;typedef struct stackNode{ SElemType data; LinktackPtr

2021-02-25 15:56:01 571

原创 堆栈-数组表示(插入和删除操作)&(共享堆栈)

#include<stdio.h>#define MAXSIZE 20#define OK 1#define ERROR -1#define False 0typedef int Status;typedef int SElemType;typedef struct SqStack{ SElemType data[MAXSIZE]; int top;}SqStack;/*push*/Status Push(SqStack* S, SElemType e){/*t

2021-02-25 10:24:53 223

原创 数据结构-静态链表的插入、删除、初始化操作

静态链表//静态表/*space[0].cur为头指针,“0表示空指针”*/ typedef struct { ElemType data; int cur; } Component,StaticLinkList[MAXSIZE]; Status InitList(StaticLinkList space) { int i; for (i = 0; i < MAXSIZE - 1; i++) { space[0].cur = i + 1; } spa

2021-02-21 17:29:31 336

原创 链表的定义插入、删除、初始化等基本操作

数据结构-线性表-链表---------------------------------------------------- 一些基本操作#include<stdio.h>#include<stdlib.h>#include<time.h>#define OK 1#define ERROR 0#define True 1#define False 0#define MAXSIZE 2

2021-02-20 13:29:47 158

原创 2020年全国大学生数学建模竞赛A题分析

A问题重述炉温曲线某回焊炉内有11个小温区及炉前区域和炉后区域,每个小温区长度为30.5cm,相邻小温区之间的间隙为5cm,炉前区域和炉后区域长度均为25cm。回焊炉内空气温度会在回焊炉启动后短时间达到稳定,炉前区域、炉后区域以及小温区之间的间隙不做特殊的温度控制,其温度与相邻温区温度有关,各温区边界附近也可能受到相邻温区温度的影响且生产车间温度为25ºC。其中温度传感器在焊接区域中心的温度达到30ºC时开始工作,电路板进入回焊炉开始计时。并且给定了实际生产时为了控制产品各温区的设定温度和传送带的过炉

2021-02-19 20:32:49 10169 1

原创 数据结构--线性表(数组实现)

数据结构–线性表(数组实现)初始化、查找,插入、删除操作#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0#define True 1#define False 0#define MAXSIZE 20typedef int Status;//函数的返回值类型typedef int ElemType;//元素类型typedef struct{ ElemType Data[MAXSI

2021-02-19 13:54:18 167

原创 C语言文件

文件的概述:文件通常是字磁盘或固态硬盘上的一段已命名的存储区。对我们而言,stdio.h就是一个文件的名称,该文件中包含一些有用的信息。然而,对os来说,文件更加复杂。c把文件看做是一系列连续的字节,每个字节都能被单独读取,至于UNIX环境中的文件结构相对应由于其他环境可能无法完全对应这个模型,C提供两种文件模式:文本模式和二进制模式。标准文件1.标准输入2.标准输出3.标准错误输出标准输入是系统的普通输入设备,通常为键盘;标准输出和标准错误输出是系统的葡萄输入设备,通常为显示屏。

2021-02-14 17:43:34 64

原创 随机骰子

头文件extern int roll_count;int roll_n_dice(int dice, int sides);dicerool.c文件#include "diceroll.h"#include<stdio.h>#include<stdlib.h>int roll_count = 0;//外部连接static int rollem(int sides)//该函数属于文件所私有{ int roll; roll = rand() % sides

2021-02-14 11:19:54 2289

原创 配内存:malloc() free();

分配内存:malloc() free();回忆一下,静态数据在程序载入内存时分配,而自动数据在程序执行是分配,并在程序离开该块是销毁。malloc()函数会找到合适的空闲内存块,这样的内存时匿名的。也就是说,malloc()分配内存,但是不会为其赋名。然而,它确实返回动态分配内存块的首字节地址。因此可以把该地址赋给一个指针变量并使用指针访问这块内存。因为char表示1字节,malloc()的返回类型通常被定义为指向char的指针。然后,从ANSIC标准开始,C使用一个新的类型:指向void的指针。

2021-02-14 11:17:20 65

原创 选择排序字符串

使用选择排序来对字符串排序,且只排序字符串的指针,不改变原字符串数组我们处理一个按字母表顺序排序字符串的实际问题。该程序主要是用strcmp()函数来确定两个字符串的顺序。一般的做法是读取字符串函数,排序字符串并打印出来。之前,我们设计了一个读取字符串的方案,该程序就用到这个方案。打印字符串没问题。程序使用标准的排序算法。思路:对于排序函数,传入一个指针数组,其中的每个元素指向字符串数组的一个元素#include<stdio.h>#include<string.h>#d

2021-02-13 18:30:03 1004

原创 指针

指针是一个值为内存地址的变量(数据对象)间接运算符,解引用运算符 *,后跟一个指针名或者地址时 *给出存储在指针指向地址上的值。指针的声明:类型说明符 * 指针名:类型说明符表面了指针所指向对象的类型表明了声明的变量是个指针。所有的指针类型存储的都是一个无符号16进制整型数在32位操作系统下所有指针类型大小的32,在64为os下为64位在定义指针类型一定要和变量对应上,指针回去找 类型*的大小的内存单元野指针和空指针:int* p=100;//把100这个地址给了p,这个就是野指针,即指针

2021-02-13 17:43:04 97

空空如也

空空如也

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

TA关注的人

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